Linux 系统中的信号量
Travis2022/02/28
345 字, 阅读需要 2 分钟
除了 Kill
信号量,其他信号都留给了进程喘息之机,允许进行一些后处理。
INT
, TERM
, HUP
, QUIT
都可以被称为可忽略信号。
KILL
信号不可忽略,强制终止进程。
$ kill -l
HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2
可忽略信号
2 号信号 INT
(interrupt) 最弱。它的意思是 “停止你现在正在做的事情并等待进一步的用户输入”。这是终端中 <C-c>
产生的信号
15 号信号 TERM
(terminate) 是正常的终止信号(kill
默认发出的信号)。它告诉应用程序干净地退出。该信号允许 trap
处理,它使接收进程能够以有序的方式进行一些清理。如果不想在关键操作中被中断,那么应用程序往往会忽略 SIGTERM
。
1 号信号 HUP
(hang up) 在苛刻程度上与 SIGTERM
大致相当。当用户与终端断开连接时,它会自动发送到终端中运行的应用程序。
3 号信号 QUIT
是可忽略信号中最苛刻的。当想立刻终止进程时可以使用,并且默认情况下它通常会留下一个 core dump file
。
链接
© LICENSED UNDER CC BY-NC-SA 4.0