How to kill all processes returned by pgrep
Solution 1
You can try:
pgrep python | xargs kill
Solution 2
pkill python
Short and sweet, man pkill for details.
Solution 3
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.
Solution 4
@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).
Related videos on Youtube
user1050619
Updated on September 18, 2022Comments
-
user1050619 over 1 year
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
-
tink about 10 yearsWhy would you invoke THREE processes when one suffices?
-
Vadim Kirilchuk about 9 yearsFor one process it would be kill $(pgrep name)
-
vog about 6 yearsNo, "kill $(pgrep name)" is still two processes and a shell. For one process, use
pkill
(as pointed out by @tink: superuser.com/a/742741) -
Jeppe over 4 yearsI found that
pkill python
does not always work, in cases wherekill PID
neither works. Butpgrep python | xargs kill -9
does. Can pkill do the equivalent? -
tink over 4 yearsAbsolutely ...
pkill -9 <...>
-
tink over 4 yearsBare in mind that it the process is stuck on e.g. broken I/O that, too, may not work. But in those cases only a reboot will ...