インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

信号処理 (Linux* および macOS* のみ)

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

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

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

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

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

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

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

信号

インテル® Fortran RTL メッセージ

SIGFPE

浮動小数点例外 (番号 75)

SIGINT

プロセスが中断されました (番号 69)

SIGIOT

異常終了トラップシグナル (番号 76)

SIGQUIT

プロセスを中止しました (番号 79)

SIGSEGV

セグメンテーション違反 (番号 174)

SIGTERM

プロセスを終了しました (番号 78)

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

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