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
Try the backtick operator for evaluating a sub-command
kill -s SIGINT `pgrep -f "python myscript.py"`
(untested)
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