如何使用kill命令只与没有PID的文件名一起使用

时间:2018-02-02 13:21:45

标签: linux bash grep kill

我想用一个命令杀死程序

ps -elf | grep "common_program_name" | grep -v grep | awk '{print $2}' | xargs kill -9

但我收到了错误

kill: failed to parse argument: 'S

我做错了什么?

2 个答案:

答案 0 :(得分:0)

使用killall -9 common_program_name

上面的问题是你可能有多个程序实例正在运行。

此外,您从ps的输出中获取第二列该列不包含PID,因此您的xargs命令有效运行kill -9 S也许您可以将标志调整为psawk抓取您的字段进行上述工作,但已经有专门的程序来完成这项工作。

答案 1 :(得分:-1)

使用pkill,在您的情况下pkill -9 common_program_name(有关详情,请参阅man pkill),它会为您提供所需的功能。与killall不同,不会杀死System V UNIX机器上的所有进程。 ;)