Linux信号机制

  1. 概念解读
  2. 信号的使用方法
  3. 常用信号

# 资料来源:「信号机制」简述Linux信号

概念解读

信号

信号是操作系统和程序间通信的一种方式。
程序监听信号,并在收到信号后按照既定指示进行下一步操作。

信号的使用方法

显示系统所支持的信号名列表

kill -l

给指定进程发送一个信号

kill [-signal] 进程号
# -signal的值为 信号编号 或 SIG+信号名
# -signal默认为TERM(即终止信号)
# 推荐使用SIG+信号名的方法,因为不同系统中信号编号可能不一致,而信号名是相同的
  • 举个例子

使用

while true;do echo 1 > test;done &

在后台列出当前目录,如果我们想终止它,则步骤如下:

首先使用ps来查看它的进程号:

这个TIME不为0的肯定就是了,向这个程序发送TERM消息即可停止它

第一种发送方法

第二种发送方法

其中15为SIGTERM的信号编号

给某个用户的所有进程发送同一个信号

killall [-user] [-signal]
# -user 用户名
  • 举个例子

用户r0co的进程如下

向该用户的全部进程发信号(此处为终止信号)的方法为:

killall -u r0co -s TERM

常用信号

这里不再一一列举,用的时候会学会的

各信号详解可参考Linux信号列表


如果我的文章能帮到您的话我会很开心.如需转载记得注明出处:)
目录