Kill Multiple Processes or PID on FreeBSD
Sometime I have problem killing all apache processes or PID on a high load web server even though the service has been stopped. One of the quick way to kill all the services is using ps command.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
shell> ps ax | grep http 795 ?? S 0:01.03 /usr/local/sbin/httpd -DSSL 4280 ?? S 0:00.59 /usr/local/sbin/httpd -DSSL 4796 ?? S 0:00.47 /usr/local/sbin/httpd -DSSL 6219 ?? S 0:01.36 /usr/local/sbin/httpd -DSSL 10459 ?? S 0:01.34 /usr/local/sbin/httpd -DSSL 16048 ?? S 0:00.64 /usr/local/sbin/httpd -DSSL 16050 ?? S 0:00.43 /usr/local/sbin/httpd -DSSL 16562 ?? S 0:00.39 /usr/local/sbin/httpd -DSSL 19888 ?? S 0:00.47 /usr/local/sbin/httpd -DSSL 22362 ?? S 0:00.10 /usr/local/sbin/httpd -DSSL 92166 ?? Ss 0:49.08 /usr/local/sbin/httpd -DSSL 24972 p8 S+ 0:00.00 grep http |
Try to grep httpd processes which currently running on your server
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
shell> ps ax | grep http | awk '{print $1}' 795 4280 4796 6219 10459 16048 16050 16562 19888 22362 92166 24995 |
use awk command to grab the process IDs
1 2 3 4 5 6 7 |
shell> ps ax | grep http | awk '{print $1}' | xargs kill |
using xrgs command to kill all the process ID we have gather earlier.
This is a handful command instead of killing the process ID one by one.
A clean kill.
I’m just a lazy bump who uses killall. ;P