signal总结

总结Linux系统中的signal

常见的slgnal种类 1-9号

1
2
3
4
5
6
7
8
9
SIGHUP #挂起
SIGINI #中断
SIGQUIT #尽可能终止
SIGILL #未知指令
SIGTRAP #自陷
SIGABRT #终止进程
SIGBUS #内存访问错误
SIGFPE #算术异常
SIGKILL #直接杀死

术语概述

  1. 未决(Pending):标识信号在产生至传输到达目的地之间的这段时间。
  2. 信号屏蔽字(Signal mask):用于阻止特定信号的传递。
  3. 信号集(Signal set):包含一组信号。
  4. 信号处理函数(Signal handler):当接收到特定信号时,由操作系统调用的函数。

杂项

  1. 有些系统是不会对信号的阻塞进行排队的,如果多次传送了同一个信号,则只返回一个信号。

  2. 关于信号 SIGINT 和 SIGQUIT 的区别:

    SIGINT(Signal Interrupt):通常由用户通过终端键盘中断操作生成,最常见的就是按 Ctrl+C。这个信号通常用于请求程序终止执行,比如停止一个长时间运行的任务。由于不会生成核心转储,所以一般用于终止程序,而不是调试。

    SIGQUIT(Signal Quit):通常由用户通过终端键盘生成,最常见的就是按 Ctrl+\。这个信号通常用于请求程序退出,并生成一个核心转储(core dump),以便开发者可以检查程序的状态。主要用于调试使用


signal总结
https://ysc2.github.io/ysc2.github.io/2023/11/28/Linux中的signal总结/
作者
Ysc
发布于
2023年11月28日
许可协议