【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:命令名可忽略大小写