SDB:UNIX 软件信号
本文档的目的
本文档旨在向用户和系统管理员介绍在 openSUSE 上如何使用信号,或作为高级用户的参考。本文将重点介绍用户可以用来获得有用结果的信号。这意味着内核发出的信号,例如 SIGILL,将不在本文档的涵盖范围内。
信号
本文档中描述了以下信号
SIGTERM
信号编号:15
目的:请求进程终止当 SIGTERM 发送到一个进程时,会请求它关闭所有打开的文件,启动其终止序列,并最终终止自身。进程可以以不同于标准的方式处理 SIGTERM(信号捕获)。例如,进程可以完全忽略该信号或请求用户确认。
SIGKILL
信号编号:9
目的:强制终止进程SIGKILL 的工作方式与 SIGTERM 相同,但进程无法处理它,并且不允许被发出信号的进程准备和/或关闭其打开的文件,因此如果进程发生故障或崩溃,它会非常有用。
SIGINT
信号编号:2 目的:中断进程的当前操作。
说明:通过按下 Control+C 触发当用户希望发出信号的进程中断其当前操作时,会发送 SIGINT。当用户按下 Control+C 时,会发送此信号。
SIGSTOP
信号编号:19
目的:暂停执行以供将来恢复。当用户希望发出信号的进程被停止以供将来恢复时,会发送 SIGSTOP。与它的“更友好”的对应物 SIGTSTP 不同,SIGSTOP 无法被捕获。
SIGTSTP
信号编号:20
目的:工作方式几乎与 SIGSTOP 完全相同,但可以被捕获。SIGTSTP 是 SIGSTOP 的友好对应物。与 SIGSTOP 类似,它暂停进程的执行以供进一步恢复,但与 SIGSTOP 不同,它允许进程设置一个处理程序(捕获)。它会自动通过按下 Control + Z 触发。
SIGCONT
{{Info|信号概览:信号编号:18 目的:恢复被 SIGSTOP 或 SIGTSTP 暂停的进程。 说明:使用命令“fg”可以达到与此信号相同的效果。} SIGCONT 恢复被 SIGSTOP 或 SIGTSTP 暂停的进程。
SIGHUP
信号编号:1 目的:通知进程其控制终端已终止/通知发出信号的进程调制解调器挂断正在进行中。
说明:大多数服务器/后台进程为此信号设置了捕获,并在收到 SIGHUP 时重新读取其配置文件。虽然 SIGHUP 最初设计用于通知进程调制解调器挂断正在进行中,但现在它用于通知进程控制终端已关闭。大多数服务器为此信号设置了捕获,并在收到 SIGHUP 时重新读取其配置文件。
更多阅读
- 维基百科关于 Unix 信号的页面
- pkill(1) Linux 手册页
- kill(1) Linux 手册页
- trap(1p) 手册页