在某些情况下,希望能杀掉所有由系统中某用户产生的进程。如何方便快捷地完成该操作,如果用命令行命令去一个一个杀进程会显得费时费力。
# kill -9 `ps -ef|grep user1|awk ‘{print $2}’`
例如,当前环境中,所有由“oracle”用户产生的进程为:
oracle 119010 315572 0 Nov 04 pts/1 0:00 -ksh
oracle 364712 1 0 Nov 04 – 0:16 ora_ckpt_oratest
oracle 385224 1 0 Nov 04 – 0:10 ora_lgwr_oratest
oracle 393412 1 0 Nov 04 – 0:09 ora_dbw0_oratest
oracle 397512 1 0 Nov 04 – 0:06 ora_pmon_oratest
oracle 401608 1 0 Nov 04 – 0:08 ora_smon_oratest
oracle 409804 1 0 Nov 04 – 0:00 ora_reco_oratest
oracle 565270 1 0 Nov 04 – 1:26 ora_qmn0_oratest
oracle 569368 1 0 Nov 04 – 0:11 ora_cjq0_oratest
oracle 573464 1 0 Nov 04 – 0:00 ora_s000_oratest
oracle 577562 1 0 Nov 04 – 0:00 ora_d000_oratest
此时,用命令:
kill -9 `ps -ef|grep oracle|awk ‘{print $2}’` 就可以一次性杀掉所有由“oracle”用户产生的进程。
当然,为了确保避免误操作,建议先使用 “ps -ef |grep oracle”命令来检查一下,是否列出的进程确实是你想要杀掉的。