在某些情况下,希望系统中用户生成的所有进程都可以被杀死。如何方便快捷的完成这个操作?如果用命令行一个一个的杀进程,会很费时费力。
# kill-9 ` PS-ef | grep user 1 | awk ' { print $ 2 } ' '
例如,在当前环境中,“oracle”用户生成的所有流程都是:
oracle 119010 315572 0年11月4日pts/1 0:00 -ksh
Oracle 364712 1 0 11月04日0:16 ora_ckpt_oratest
Oracle 385224 1 0 11月4日0:10 ora_lgwr_oratest
Oracle 393412 1 0 11月4日0:09 ora_dbw0_oratest
Oracle 397512 1 0 11月4日0:06 ora_pmon_oratest
oracle 401608 1 0年11月4日0:08 ora_smon_oratest
Oracle 409804 10 11月4日0:00 ora_reco_oratest
Oracle 565270 1 0 11月4日1:26 ora _ qmn 0 _ ora test
Oracle 569368 1 0 11月4日0:11 ora_cjq0_oratest
oracle 573464 1 0年11月4日0:00 ora_s000_oratest
oracle 577562 1 0年11月4日0:00 ora_d000_oratest
此时,使用以下命令:
kill-9 ` PS-ef | grep oracle | awk ' { print $ 2 } ' `可以一次终止' Oracle '用户生成的所有进程。
当然,为了避免误操作,建议使用' ps -ef |grep oracle '命令来检查所列出的进程是否真的是你想要杀死的。