Namespaces
Variants

SIG_DFL, SIG_IGN

From cppreference.net
ヘッダーで定義 <signal.h>
#define SIG_DFL /*implementation defined*/
#define SIG_IGN /*implementation defined*/

SIG_DFL および SIG_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++ documentation for SIG_DFL , SIG_IGN