I need to kill a few Python processes. I can get a list of the process numbers using pgrep python
, but how can I kill them all at once instead of killing one by one?
I'm looking for something like:
pgrep python | kill process_nos
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communityYou can try:
pgrep python | xargs kill
pkill
(as pointed out by @tink: superuser.com/a/742741)
pkill python
Short and sweet, man pkill for details.
pkill python
does not always work, in cases where kill PID
neither works. But pgrep python | xargs kill -9
does. Can pkill do the equivalent?
@tink has the correct answer, but I wanted to add that you want to make sure you are using the correct format for your machine. If you are using a Linux machine, pkill python
is correct, but if you are using a Mac terminal, you will want to use pkill Python
. So the most correct answer would be this:
pkill <process_name>
where <process_name>
is the case-sensitive name of the process to kill.
Note: I understand that the tags for this question were related to Ubuntu Linux, but I wanted to clarify this for anyone that has a different machine but had this exact question (like myself).
If pkill
is a bit too radical for your tastes and you prefer to select which entries of the pgrep
listing you want to kill, you can have a look at ezkill
<https://github.com/Kraymer/ezkill> that i wrote.
man killall
...