Linux 信号
所有工具
免费
每个标准 POSIX/Linux 进程信号的速查参考——从 SIGHUP 到 SIGSYS——展示每个信号的编号、默认动作(Term、Core、Ign、Stop、Cont)、是否可捕获、由什么触发以及对应的 shell 退出码(128+N)。在浏览器中运行,免费。
解释每个标准 POSIX/Linux 进程信号。一切都在您的浏览器中从内置参考运行——不会向服务器发送任何内容。
| 信号 | 编号 | 默认动作 | 可捕获 | 描述 | 退出码 |
|---|
没有信号匹配您的搜索。
请尝试其他名称或编号——例如 SIGTERM、11 或 segmentation。
除此之外,Linux 还提供从 SIGRTMIN 到 SIGRTMAX 的实时信号(通常为信号 34–64)。它们没有预定义含义,并按保证的顺序传递——由应用程序为其分配自己的用途。
所示信号编号为 x86/ARM ABI 的默认值。少数信号在其他架构上具有不同的编号(例如 Alpha、MIPS 和 SPARC),因此在脚本中应始终优先使用符号名称(SIGKILL)而非原始编号(9)。
关于 Linux 信号
Linux 信号参考在一张便于浏览的表格中列出了所有标准的 POSIX/Linux 进程信号,从 SIGHUP 到 SIGSYS。每一行都显示信号的编号、默认行为——终止、核心转储、忽略、停止或继续——进程是否可以捕获它、通常是什么触发了它,以及进程因该信号终止时你会看到的 Shell 退出代码(128 + N)。
退出代码这一列解决了开发者每天都会遇到的困惑:以 137 退出的容器是被 SIGKILL(9)终止的,以 139 崩溃的是 SIGSEGV(11)导致的段错误,而以 143 干净退出的则来自 SIGTERM(15)。搜索支持按名称、编号、退出代码或含义进行,因此无论你手头有哪条线索都可以从它入手。
两条注释涵盖了参考资料通常会遗漏的部分:没有预定义含义、按保证顺序传递的实时信号 SIGRTMIN 到 SIGRTMAX,以及架构差异说明——少数信号编号在 Alpha、MIPS 和 SPARC 架构上有所不同,这也是脚本应使用符号名称的原因。所有内容都在你的浏览器中运行。
如何使用 Linux 信号
- 按名称(SIGKILL)、编号(9)、Shell 退出代码(137)或诸如"segmentation"之类的关键词搜索信号。
- 查看这一行:编号、默认行为、是否可被捕获,以及是什么触发了它。
- 使用退出代码列,将一个 128+N 的 Shell 状态反推回终止进程的信号。
- 使用该行的复制按钮,复制信号名称或退出代码。
- 如果你在编写可移植脚本,请查看关于实时信号和各架构编号差异的说明。
常见问题
SIGTERM(15)礼貌地请求进程退出——它可以被捕获,因此进程可以先做清理工作。SIGKILL(9)则在内核层面立即终止进程,无法被捕获、阻塞或忽略。请始终先尝试 SIGTERM,再考虑使用 kill -9。
SIGKILL 和 SIGSTOP。内核会直接强制执行这两个信号,因此没有任何处理程序能拦截它们——SIGKILL 总是终止进程,SIGSTOP 总是挂起进程。
当进程被某个信号杀死时,Shell 会报告 128 加上该信号编号的结果。因此 139 就是 128 + 11:进程死于 SIGSEGV,即段错误。该表格在每个致命信号旁都列出了对应的退出代码。
SIGRTMIN 到 SIGRTMAX——在 Linux 上通常是编号 34 到 64。与标准信号不同,它们没有预定义的含义,而是按保证顺序排队并传递,因此应用程序可以为它们分配自己的用途。
因为少数信号编号在 Alpha、MIPS 和 SPARC 等不同 CPU 架构之间有所差异。符号名称——kill -TERM 而不是 kill -15——在任何地方都表示相同的含义,因此它是更具可移植性的选择。
是的,完全免费。完整表格内置在页面中,所有搜索和复制操作都在你的浏览器中完成。
需要帮助?
使用此工具时遇到问题?请告诉我们的团队。