How to kill all processes with the same name using OS X Terminal
Solution 1
use pkill, with the -f
option.
pkill -f python
If you don't have pkill
pre-installed (some osx's don't...), try proctools.
Solution 2
If you don't have pkill
, you can try this:
ps aux | grep python | grep -v grep | awk '{print $2}'
If that gives you the PIDs you want to kill, join that up with the kill command like this
kill $(ps aux | grep python | grep -v grep | awk '{print $2}')
That says... kill all the PIDs that result from the command in parentheses.
Solution 3
killall python
Will do the trick.
Solution 4
@shx2: Thanks for the trick! Here are the steps to make it work:
Step1:
cd /usr/bin
Step2:
touch "pkill"
Step3: With textEditor of your choice open the file you just created: /usr/bin/pkill (do it with sudo or be Admin). Copy/paste this and save:
for X in `ps acx | grep -i $1 | awk {'print $1'}`; do
kill $X;
done
Step3: Set file attribute
sudo chmod 755 /usr/bin/pkill
Now you ready to terminate any process using a simple syntax:
For example, to terminate all Python processes open a shell and type:
pkill Python
All python processes should be gone by now.
alphanumeric
Updated on June 19, 2020Comments
-
alphanumeric almost 4 years
Getting the following output from running this:
ps aux | grep Python
Output:
user_name 84487 0.0 0.0 0 0 ?? Z 12:15PM 0:00.00 (Python) user_name 84535 0.0 0.0 0 0 ?? Z 12:16PM 0:00.00 (Python)
I want to terminate all Python processes currently running on a machine....
-
glenn jackman about 10 yearsdon't need grep here:
ps aux | awk '/python/ {print $2}' | xargs kill
-
Mark Setchell about 10 yearsGlenn: That is more elegant than my answer, please go ahead and suggest it yourself and grab the points - you won't offend me. I'll vote for you! Also, please tell me how I can refer to your name (which contains a space) using the @ mechanism. Thank you.
-
glenn jackman about 10 yearsI think if you just use "@glenn", that will notify me. Usually in a comment, you can type "@gl" and my name will be auto-suggested in which case you can hit Tab to complete. However if you're replying to the previous comment, the system figures out who you're replying to. It all pretty much just works. Regarding the points, my code was just a refinement of yours, it's not a substantially new answer.
-
jbustamovej almost 8 yearskill -9 $(ps aux | grep python | grep -v grep | awk '{print $2}') worked for me
-
n13 about 6 yearsdid not work for me - killall simply didn't work as advertised, it killed nothing. OS X 10.13.3
-
n13 about 6 yearsBrilliant, saved me from restart. Because I had processes spawning all the time in my terminal I got the message that "fork: Resource temporarily unavailable". I tried to kill processes in Activity Monitor but that was too slow. So I quit some programs that were running - Mail, Safari - and very quickly switched to terminal and ran the ps aux.... command - BAM. 1,300 processes killed!