Linux 命令之 kill
杀掉进程。
命令格式
kill [-<signal_name|signal_number>] <pid>
其中 pid 是进程ID。
选项可以是信息名称或信号编号。
信号
kill -l
可以查看全部支持的信号。
常用信号
编号 | 名称 | 说明 | |
---|---|---|---|
1 | SIGHUP | 让进程立即关闭,然后重新读取配置文件再启动 | |
2 | SIGINT | 终止前台进程,相当 ctrl+c | |
9 | SIGKILL | 立即结束进程,不能被阻塞、捕获、忽略 | |
15 | SIGTERM | 正常结束进程,kill 命令的默认信号。如果进程已经发生了问题,那么无法通过该信号正常终止进程 | |
18 | SIGCONT | 让暂停的进程恢复执行 | |
19 | SIGSTOP | 暂停前台进程,相当于 ctrl+z |
kill 与 kill -9 的区别
默认情况下(即不指定信号参数时),使用的是 SIGTERM(15)信号。它告诉进程,你需要被关闭,请自行停止并退出。
kill -9 是发送 SIGKILL 信号给进程,通过内核将进程直接终止,该进程在毫无准备的情况下被关闭了。SIGKILL 信号不能被捕获或忽略,接收到该信号的进程不能执行任何清理。