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 触发。

注意:可以使用 fg 命令或 SIGCONT 恢复被 SIGTSTP 停止的进程。

SIGCONT

{{Info|信号概览:信号编号:18 目的:恢复被 SIGSTOP 或 SIGTSTP 暂停的进程。 说明:使用命令“fg”可以达到与此信号相同的效果。} SIGCONT 恢复被 SIGSTOP 或 SIGTSTP 暂停的进程。

SIGHUP

信号概览

信号编号:1 目的:通知进程其控制终端已终止/通知发出信号的进程调制解调器挂断正在进行中。

说明:大多数服务器/后台进程为此信号设置了捕获,并在收到 SIGHUP 时重新读取其配置文件。

虽然 SIGHUP 最初设计用于通知进程调制解调器挂断正在进行中,但现在它用于通知进程控制终端已关闭。大多数服务器为此信号设置了捕获,并在收到 SIGHUP 时重新读取其配置文件。


更多阅读