Alex_McAvoy

想要成为渔夫的猎手

Linux 的进程管理

【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 命令通常要搭配 psgrep 等命令使用

为简化操作,有了 killall 命令,其可以利用执行命令的名称来给予信号,命令格式为:killall [选项] -signal 命令名

常见的选项有:

  • -i:交互式的,例如若需要删除时会给予用户提示
  • -I:命令名可忽略大小写

感谢您对我的支持,让我继续努力分享有用的技术与知识点!