理解SIG_DFL与SIG_IGN
概要
在头文件<signal.h>中定义:
- snippet.c
#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ #define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */
SIGDFL和SIGIGN宏展开为不等于任何函数地址的整型表达式。 这些宏定义了signal()函数的信号处理策略。
常量 | 说明 |
:——- | :———– |
SIG_DFL | 默认信号处理 |
SIG_IGN | 信号被忽略 |
解释
SIG_DFL:一个信号的默认处理方式,例如,进程收到SIGTERM这个信号后,默认是行为是进程退出。
SIG_IGN:忽略信号处理,即收到这个信号后什么也不做。例如,进程收到SIGTERM这个信号后,什么也不干。
注意:这些标志与进程是否屏蔽信号无关,SIG_IGN并不代表无法接收相应的信号。
参考
打赏作者以资鼓励: