kill 命令默认使用信号为 15,用于结束进程或工作。
只有 SIGKILL(kill -9)才可以无条件终止进程,其他信号进程都有权利忽略。
如果进程或工作忽略此信号,则可以使用信号 9,强制杀死进程或作业。
kill -9 pid 可以理解为操作系统从内核级别强行杀死某个进程,kill -15 pid 则可以理解为发送一个通知,告知应用主动关闭。
杀死进程的一般步骤:kill -3 并不能停止,应该使用 kill -2 或 kill -15,最后再 kill -9。
kill 信号 | 作用 | 备注 |
---|---|---|
0 | 不发送任何信号,但是系统会进行错误检查 | 检查一个进程是否存在,存在返回 0;不存在返回 1 |
1 | HUP (hang up) | 重新读取一次参数的配置文件 (类似 reload) |
2 | INT (interrupt) | 中断(同 Ctrl + C) |
3 | QUIT (quit) | 退出(同 Ctrl + \) |
6 | ABRT (abort) | 调用 abort 函数生成的信号 |
9 | KILL (non-catchable, non-ignorable kill) | 强制终止 |
14 | ALRM (alarm clock) | 时钟定时信号,计算的是实际的时间或时钟时间,alarm 函数使用该信号 |
15 | TERM (software termination signal) | 正常停止一个进程 |
18 | CONT | 继续(与 STOP 相反, fg/bg 命令) |
19 | STOP | 暂停(同 Ctrl + Z) |