在某些情况下,希望能杀掉所有由系统中某用户产生的进程。如何方便快捷地完成该操作,如果用命令行命令去一个一个杀进程会显得费时费力。
# ps -fu|grep user1|awk ‘{print $2}’|xargs kill -9
例如,当前环境中,所有由“apache”用户产生的进程为:
apache 29004 0.0 0.0 183388 3148 ? S 00:00 0:00 /usr/sbin/httpd
apache 29005 0.0 0.0 183388 3088 ? S 00:00 0:00 /usr/sbin/httpd
apache 29006 0.0 0.0 183388 3104 ? S 00:00 0:00 /usr/sbin/httpd
apache 29007 0.0 0.0 183396 3188 ? S 00:00 0:00 /usr/sbin/httpd
apache 29008 0.0 0.0 183388 3148 ? S 00:00 0:00 /usr/sbin/httpd
apache 29009 0.0 0.0 183388 3140 ? S 00:00 0:00 /usr/sbin/httpd
apache 29010 0.0 0.0 183388 3116 ? S 00:00 0:00 /usr/sbin/httpd
apache 29011 0.0 0.0 183388 3116 ? S 00:00 0:00 /usr/sbin/httpd
apache 29214 0.0 0.0 183388 3100 ? S 00:02 0:00 /usr/sbin/httpd
apache 29219 0.0 0.0 183388 3120 ? S 00:02 0:00 /usr/sbin/httpd
apache 29383 0.0 0.0 183388 3144 ? S 00:07 0:00 /usr/sbin/httpd
apache 29385 0.0 0.0 183388 3100 ? S 00:07 0:00 /usr/sbin/httpd
apache 29386 0.0 0.0 183388 3132 ? S 00:07 0:00 /usr/sbin/httpd
apache 30256 0.0 0.0 183388 3076 ? S 00:40 0:00 /usr/sbin/httpd
apache 30902 0.0 0.8 493096 146160 ? Ssl May02 15:32 /usr/local/bin/mono /usr/local/lib/mono/2.0/mod-mono-server2.exe --filename /tmp/mod_mono_server_global --nonstop --master
apache 31003 0.0 0.8 416360 140564 ? Ssl Jun29 0:47 /usr/local/bin/mono /usr/local/lib/mono/2.0/mod-mono-server2.exe --filename /tmp/mod_mono_server_global --nonstop --master
apache 31197 0.0 0.0 183388 3108 ? S 01:14 0:00 /usr/sbin/httpd
[root@app-stantwo www]# ps aux|grep mono
apache 953 0.0 1.1 468408 194216 ? Ssl May13 5:33 /usr/local/bin/mono /usr/local/lib/mono/2.0/mod-mono-server2.exe --filename /tmp/mod_mono_server_global --nonstop --master
apache 1375 0.0 0.6 428816 105572 ? Ssl Feb12 3:42 /usr/local/bin/mono /usr/local/lib/mono/2.0/mod-mono-server2.exe --filename /tmp/mod_mono_server_global --nonstop --master
apache 1380 0.0 1.1 560200 190372 ? Ssl May14 13:46 /usr/local/bin/mono /usr/local/lib/mono/2.0/mod-mono-server2.exe --filename /tmp/mod_mono_server_global --nonstop --master
此时,用命令:
ps -fu|grep apache|awk ‘{print $2}’|xargs kill -9 就可以一次性杀掉所有由“apache”用户产生的进程。
当然,为了确保避免误操作,建议先使用 “ps -fu |grep apache”命令来检查一下,是否列出的进程确实是你想要杀掉的。