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.
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
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
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