Killing linux process by piping the id

前端 未结 4 1800
一个人的身影
一个人的身影 2021-01-27 13:31

I want to kill a process and I get its id with:

pgrep -f \"python myscript.py\"

I would like to call

kill -s SIGINT 

相关标签:
4条回答
  • 2021-01-27 14:04

    Try the backtick operator for evaluating a sub-command

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

    (untested)

    0 讨论(0)
  • 2021-01-27 14:23

    Read the man page, pgrep and pkill are the same program. Use pkill to send a signal to one or more processes which you can select in the same way as pgrep.

    pkill -INT -f "python myscript.py"
    

    See also this question and answer on unix.se (where this question would be a better fit).

    0 讨论(0)
  • 2021-01-27 14:24

    It's generally most convenient to use xargs to pass data from a pipe as arguments to a command that doesn't read data from stdin themselves:

    pgrep -f "python myscript.py" | xargs kill -s SIGINT
    
    0 讨论(0)
  • 2021-01-27 14:27

    You can also kill a process by name

    killall -s SIGINT processname

    0 讨论(0)
提交回复
热议问题