通过管道id来杀死linux进程

时间:2013-12-13 16:14:37

标签: linux pipe kill

我想杀死一个进程,我得到了它的id:

pgrep -f "python myscript.py"

我想致电

kill -s SIGINT 

就可以了,但我找不到任何办法。

(命令需要在一行中)

4 个答案:

答案 0 :(得分:4)

阅读man pagepgreppkill 是同一个程序。使用pkill向一个或多个流程发送信号,您可以选择与pgrep相同的方式。

pkill -INT -f "python myscript.py"

另请参阅unix.se上的this question and answer(这个问题更合适)。

答案 1 :(得分:3)

尝试使用反引号运算符来评估子命令

kill -s SIGINT `pgrep -f "python myscript.py"`

(未测试的)

答案 2 :(得分:2)

通常最方便的是使用xargs将数据从管道作为参数传递给不会从stdin读取数据的命令:

pgrep -f "python myscript.py" | xargs kill -s SIGINT

答案 3 :(得分:1)

您还可以按名称

终止进程
  

killall -s SIGINT processname