Question

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 

on it, but I can't find any way to do it.

(the command needs to be in one line)

Was it helpful?

Solution 2

Try the backtick operator for evaluating a sub-command

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

(untested)

OTHER TIPS

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).

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

You can also kill a process by name

killall -s SIGINT processname

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top