命名空间
变体
操作

SIG_DFL、SIG_IGN

来自 cppreference.com
< c‎ | program
在头文件 <signal.h> 中定义
#define SIG_DFL /*实现定义*/
#define SIG_IGN /*实现定义*/

The SIG_DFLSIG_IGN 宏展开成不是任何函数地址的整数表达式。这些宏为 signal() 函数定义信号处理策略。

常量 解释
SIG_DFL 默认信号处理
SIG_IGN 忽略信号

内容

[编辑] 示例

#include <signal.h>
#include <stdio.h>
 
int main(void)
{
    /* using the default signal handler */
    raise(SIGTERM);
    printf("Exit main()\n");   /* never reached */
}

输出

(none)

[编辑] 示例

#include <signal.h>
#include <stdio.h>
 
int main(void)
{
    /* ignoring the signal */
    signal(SIGTERM, SIG_IGN);
    raise(SIGTERM);
    printf("Exit main()\n");
}

输出

Exit main()

[编辑] 参考

  • C17 标准 (ISO/IEC 9899:2018)
  • 7.14/3 信号处理 <signal.h> (p: 193)
  • C11 标准 (ISO/IEC 9899:2011)
  • 7.14/3 信号处理 <signal.h> (p: 265)
  • C99 标准 (ISO/IEC 9899:1999)
  • 7.14/3 信号处理 <signal.h> (p: 246)
  • C89/C90 标准 (ISO/IEC 9899:1990)
  • 4.7 信号处理 <signal.h>

[编辑] 另请参阅

C++ 文档 for SIG_DFL, SIG_IGN