【signal 信号】
对于一个进程来说,通过给予该进程一个信号(signal),可以告知该进程要做什么
通过 man7 signal 可以查看 Linux 中支持的所有 signal 信号,常见的信号如下表
| 代号 | 名称 | 内容 |
|---|---|---|
| 1 | SIGHUP | 启动被终止的进程,可让该 PID 重新读取自己的配置文件,类似重新启动 |
| 2 | SIGINT | 相当于用键盘输入 [Ctrl]+[C] 来中断进程 |
| 9 | SIGKILL | 强制中断进程,尚未完成的部分会有临时文件产生 |
| 15 | SIGTERM | 以正常的结束进程来终止该进程 |
| 17 | SIGSTOP | 相当于用键盘输入 [Ctrl]+[Z] 来暂停进程 |
【kill 命令】
在 Linux 的工作管理 中,介绍过使用 kill 命令进行工作管理,实际上,kill 命令也可用于进程管理,其语法格式为:kill -signal PID
如下图所示,使用 ps 命令找出 syslog 这个进程的 PID 后,再用 kill 传送信号,使得 syslog 重新读取配置文件,之后使用 tail 命令查看日志文件,可以发现其重新启动过

【killall 命令】
kill 命令每次都需要加上 PID 或者 job number,因此 kill 命令通常要搭配 ps、grep 等命令使用
为简化操作,有了 killall 命令,其可以利用执行命令的名称来给予信号,命令格式为:killall [选项] -signal 命令名
常见的选项有:
- -i:交互式的,例如若需要删除时会给予用户提示
- -I:命令名可忽略大小写
