関数名:raise
ヘッダーファイル: <stdio.h>
関数プロトタイプ: int raise(int sig);
機能: 実行中のプログラムにシグナルを送信します。
パラメータ: 送信するシグナルの名前
戻り値: 成功した場合は 0、失敗した場合は 0 以外
補足:SIGABRT(Signal Abort)プログラムは異常終了します。
SIGFPE (シグナル浮動小数点例外) 0 による除算やオーバーフローなどの算術演算エラー (必ずしも浮動小数点演算であるとは限りません)。
SIGILL (シグナル不正命令) 不正な命令などの不正な関数イメージ。通常はコードの変更またはデータの実行の試みによって引き起こされます。
SIGINT (信号割り込み) Ctrl-C などの割り込み信号は、通常、ユーザーによって生成されます。
SIGSEGV (Signal Segmentation Violation) 存在しないメモリ ユニットへのアクセスなど、メモリへの不正なアクセス。
SIGTERM (Signal Terminate) このプログラムに送信される終了要求シグナル。
プログラム例:除算が意味があるかどうかを判定し、除数が 0 の場合にシグナルを送信します。
#include<signal.h>#include<stdio.h>intmain(void){inta,b;a=10;b=0;printf(begin-----n);if(b==0) raise(SIGFPE);//除数が 0 の場合、プログラムを終了するシグナルを送信します a=a/b;printf(begin-----n);return0;}
走行結果
始める - - -