信号処理

信号は、次に示すような、さまざまな発信元から生成されるアブノーマルなイベントです:

例えば、次のような特定のイベントに対して、信号の発行を設定できます。

何も処理が行われないと、受信プロセスを終了する信号 (オプションで、core ファイルを作成します) と、プロセスが何か要求しない限り無視されるだけの信号があります。

特定の信号を除いて、signal または sigaction ルーチンを呼び出すことによって、指定した信号を無視するか、またはユーザが記述した信号ハンドラの位置に割り込みを発生させる (制御を渡す) ことができます。

信号に対して signal を呼び出し、次のいずれかの処理を設定できます:

signal ルーチンを呼び出すことによって、信号に対する処理を変更できます (オペレーティング・システムの信号を遮断して、プロセスの中断を防止するなど)。

プログラムを起動すると、インテル® Fortran RTL は以下の信号を検出するように準備します:

信号

インテル Fortran RTL メッセージ

SIGFPE

Floating-point exception (番号 75)

SIGINT

Process interrupted (number 69)

SIGIOT

IOT trap signal (number 76)

SIGQUIT

Process quit (number 79)

SIGSEGV

Segmentation fault (番号 174)

SIGTERM

Process killed (number 78)

signal ルーチンを呼び出す (各信号の番号を指定) ことで、インテル Fortran RTL によって設定された信号処理機能が無視されます。デフォルトの処理を復元するには、最初の signal の呼び出しから返された値を保存する方法しかありません

デバッガを使用している場合は、インテル Fortran RTL が適切な信号を受け取り、処理できるコマンドを入力しなければならないことがあります。