C 標準ライブラリ - <signal.h>


はじめに

signal.h ヘッダー ファイルは、変数タイプ sig_atomic_t、プログラムの実行中に報告されるさまざまなシグナルを処理するための 2 つの関数呼び出し、およびいくつかのマクロを定義します。

ライブラリ変数

ヘッダーファイル signal.h で定義されている変数の型は次のとおりです:

シリアル番号変数と説明
1sig_atomic_t
int型、シグナル内 ハンドラー内の変数として使用されます。これは、非同期信号が存在する場合でもアトミック エンティティとしてアクセスできるオブジェクトの整数型です。

ライブラリマクロ

以下は、ヘッダファイル signal.h で定義されているマクロです。これらのマクロは、次の 2 つの関数で使用されます。 SIG_ マクロは、シグナル関数とともに使用され、シグナルの機能を定義します。

シリアル番号マクロと説明
1SIG_DFL
デフォルトのシグナルハンドラ。
2SIG_ERR
は信号エラーを示します。
3SIG_IGN
信号を無視します。

SIG マクロは、次の条件の信号番号を表すために使用されます:

シリアル番号 マクロと説明
1SIGABRT
プログラムが異常終了しました。
2SIGFPE
0 による除算やオーバーフローなどの算術演算エラー。
3SIGILL
不正な命令などの不正な機能の画像。
4SIGINT
Ctrl-C などの割り込み信号。
5SIGSEGV
存在しないメモリユニットへのアクセスなど、メモリへの不正なアクセス。
6SIGTERM
このプログラムに送信される終了要求シグナル。

ライブラリ関数

ヘッダーファイル signal.h で定義されている関数は次のとおりです:

シリアル番号関数と説明
1void (*signal(int sig, void (* func)(int)))(int)
この関数は、シグナルを処理する関数、つまりシグナルハンドラーを設定します。
2int raise(int sig)
この関数は、信号 sig を生成します。 sig パラメータは SIG マクロと互換性があります。