[关闭]
@breakerthb 2017-03-23T06:52:39.000000Z 字数 617 阅读 1298

进程杀死

Linux Shell


kill

这个命令用于发送信号来结束进程。如果一个进程没有响应杀死命令,这也许就需要强制杀死,使用-9参数来执行。注意,使用强制杀死的时候一定要小心,因为进程没有时机清理现场,也许写入文件没有完成。

如果我们不知道进程PID或者打算用名字杀死进程时候,killall就能派上用场。

kill <pid>
kill -9<pid>
killall -9 杀死所有拥有同样名字的进程

如果你使用kill,你需要知道进程ID号。pkill是类似的命令,但使用模式匹配,如进程名,进程拥有者等。

pkill <进程名>

Demo

$ ps -ef | grep name
    $ kill -9 XXXX

$ pgrep -f iostat | xargs kill -9

killall

$ killall [processname]

结束该程序名的全部进程

通过发信号的方式结束进程

常用signal

1   SIGHUP      启动被终止的进程
2   SIGINT      相当于[Ctrl]-C
9   SIGKILL     强制中断一个进程
15  SIGTERM 正常结束
17  SIGSTOP 相当于[Ctrl]-Z

查看所有signal:

$ kill -l

查看某signal的signal_number:

$ kill -l SIGQUIT

传signal与传%jobnumber不同,通过向进程发消息完成

$ kill -signal_number PID
    $ kill -2 PID   

常用方法

杀死某个程序的所有进程:

$ pgrep -f iostat | xargs kill -9
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注