C言語の標準ライブラリsignalのリファレンスです。
概要 | シグナルをキャッチする。 |
ヘッダ | #include <signal.h> |
I/F | void (*signal(int sig, void (*func)(int)))(int); |
戻り値 | 指定された操作が処理できる場合、指定されたシグナルsigに対して最も新しく成功したsignal関数呼出しのfuncの値。そうでない場合SIG_ERRの値(正の値をerrnoに格納する)。 |
詳細 | signal関数は、sigで指定されたシグナル番号に応じて、funcで指定された処理を実行する。 シグナル番号は6つある。SIGABRT(異常終了、例えばabort関数が発生させる)、SIGFPE(誤った算術演算、例えば0除算やオーバフローを発生する演算)、SIGILL(不正な関数イメージの検出、例えば不正命令等)、SIGINT(対話的なアテンションシグナルの受け取り)、SIGSEGV(記憶域への不正なアクセス)、SIGTERM(プログラムへ送信された終了要求)である。また、これら以外でも、追加のシグナルが処理系によって定義されうる。 signal関数は、funcにSIG_DELが指定されると、そのシグナルに対するデフォルトの操作を行う。funcにSIG_IGNが指定されると、そのシグナルを無視する。funcにそれ以外の値が指定されたとき、signal関数は、そのシグナルが発生した時に、funcを関数として呼び出す。 |