JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... 。 シグナル処理方法 シグナルはそれぞれ現在の「処理方法 (disposition)」を保持しており、 この処理方法によりシグナルが配送された際にプロ ... セスが どのような振舞いをするかが決まる。 後述の表の "動作" の欄のエントリーは各シグナルのデフォルトの 処理方法を示しており、以下のような意味を持つ。 Term デフォルトの動作はプロセス終了。 Ign デフォルトの動作は ... このシグナルの無視。 Core デフォルトの動作はプロセス終了とコアダンプ出力 ( core (5) 参照)。 Stop デフォルトの動作はプロセスの一時停止。 ... ... EN_SOURCE_EXTENDED || /* glibc 2.12 以降: */ _POSIX_C_SOURCE >= 200809L 説明 sigaltstack () を使うと、 プロセスは新しい代替シグナルスタックを定義したり、 既存の代替シグナルスタックの状態を取得できる。 シグナルハンドラーが代替シグナルスタックを要求するよ ... うに設定されていると ( sigaction (2) 参照)、ハンドラーの実行中はそのシグナルスタックが使われる。 代替シグナルスタックを使う際の一般的な手順は、以下の通りである: 1. 代替シグナルスタックで使うメモリー ... 領域を確保する。 2. sigaltstack () を使って、 代替シグナルスタックの存在と場所をシステムに知らせる。 3. sigaction (2) を使ってシグナルハンドラーを確立する際、 SA_ONSTACK フラグを指 ... ... EN_SOURCE_EXTENDED || /* glibc 2.12 以降: */ _POSIX_C_SOURCE >= 200809L 説明 sigaltstack () を使うと、 プロセスは新しい代替シグナルスタックを定義したり、 既存の代替シグナルスタックの状態を取得できる。 シグナルハンドラーが代替シグナルスタックを要求するよ ... うに設定されていると ( sigaction (2) 参照)、ハンドラーの実行中はそのシグナルスタックが使われる。 代替シグナルスタックを使う際の一般的な手順は、以下の通りである: 1. 代替シグナルスタックで使うメモリー ... 領域を確保する。 2. sigaltstack () を使って、 代替シグナルスタックの存在と場所をシステムに知らせる。 3. sigaction (2) を使ってシグナルハンドラーを確立する際、 SA_ONSTACK フラグを指 ... ... _test_macros (7) 参照): kill (): _POSIX_C_SOURCE 説明 システムコールの kill () は、任意のプロセスグループもしくはプロセスにシグナルを 送るのに使われる。 pid に正の値を指定した場合、シグナル sig が pid で指定された ID を持つプロセスに送られる。 pid に 0 ... を指定した場合、 呼び出し元のプロセスのプロセスグループに属するすべてのプロセスに sig で指定したシグナルが送られる。 pid に -1 を指定した場合、 sig で指定したシグナルが、 呼び出し元のプロセスがシグナルを送る許可を持つ全てのプロ ... セスに 送られる。但し、プロセス番号 1 ( init ) へはシグナルは送られない。 以下の関連部分も参照のこと。 pid に -1 より小さな値を指定した場合、 ID が -pid のプロセスグループに属するす ... ... (7) 参照): sigaction (): _POSIX_C_SOURCE siginfo_t : _POSIX_C_SOURCE >= 199309L 説明 sigaction () システムコールは、特定のシグナルを受信した際の プロセスの動作を変更するのに使用される (シグナルの概要については signal (7) を参照)。 signum には、 SIGKILL ... と SIGSTOP 以外の有効なシグナルをどれでも指定できる。 act が NULL 以外であれば、シグナル signum の新しい動作 (action) として act が設定される。 oldact が ... pecifies the signal-handling function for signum . This function receives three arguments, as described below. sa_mask は、シグナルハンドラー実行中に禁止 (block) すべきシグナルのマスクを指定する (ハンドラー実行中のシグナルの禁止は、シグナルハンドラーが起 ... ... (7) 参照): sigaction (): _POSIX_C_SOURCE siginfo_t : _POSIX_C_SOURCE >= 199309L 説明 sigaction () システムコールは、特定のシグナルを受信した際の プロセスの動作を変更するのに使用される (シグナルの概要については signal (7) を参照)。 signum には、 SIGKILL ... と SIGSTOP 以外の有効なシグナルをどれでも指定できる。 act が NULL 以外であれば、シグナル signum の新しい動作 (action) として act が設定される。 oldact が ... pecifies the signal-handling function for signum . This function receives three arguments, as described below. sa_mask は、シグナルハンドラー実行中に禁止 (block) すべきシグナルのマスクを指定する (ハンドラー実行中のシグナルの禁止は、シグナルハンドラーが起 ... ... t_macros (7) 参照): sigwaitinfo (), sigtimedwait (): _POSIX_C_SOURCE >= 199309L 説明 sigwaitinfo () は set のうちのどれかのシグナルが処理待ちになるまで、 呼び出しスレッドの実行を一時停止する (呼び出しスレッドに対して set のうちのどれかのシグナルが既に待 ... 機中 (pending) である場合、 sigwaitinfo () はすぐに戻る)。 sigwaitinfo () はそのシグナルを待機中のシグナルの集合から削除し、関数の結果としてシグナル番号を返す。 info 引数が NULL でない場合、配送されたシグナルの ... が入った siginfo_t 型 ( sigaction (2) を参照) の構造体を info が指すバッファーに入れて返す。 呼び出し元に対して set の複数のシグナルが処理待ちの場合、 sigwaitinfo () で取得するシグナルは通常の順序決定ルールに基づいて決定される。 詳細は signal (7) を参照の ... ... 異なっている。 このシステムコールの使用は避け、 代わりに sigaction (2) を使用すること。 下記の「移植性」を参照。 signal () はシグナル signum の処理方法を handler に設定する。 handler には、 SIG_IGN 、 SIG_DFL 、 プログラマが定義した関数 (「シグナルハンドラ ... ー」) のアドレスの いずれかを指定する。 シグナル signum がプロセスに配送されると、以下のいずれかが発生する。 * 処理方法が SIG_IGN に設定されている場合、そのシグナルは無視 ... される。 * 処理方法が SIG_DFL に設定されている場合、シグナルに関連づけられた デフォルトの動作が行われる ( signal (7) 参照)。 * 処理方法として関数が設定されている場合、 まず最初に処理 ... ... t_macros (7) 参照): sigwaitinfo (), sigtimedwait (): _POSIX_C_SOURCE >= 199309L 説明 sigwaitinfo () は set のうちのどれかのシグナルが処理待ちになるまで、 呼び出しスレッドの実行を一時停止する (呼び出しスレッドに対して set のうちのどれかのシグナルが既に待 ... 機中 (pending) である場合、 sigwaitinfo () はすぐに戻る)。 sigwaitinfo () はそのシグナルを待機中のシグナルの集合から削除し、関数の結果としてシグナル番号を返す。 info 引数が NULL でない場合、配送されたシグナルの ... が入った siginfo_t 型 ( sigaction (2) を参照) の構造体を info が指すバッファーに入れて返す。 呼び出し元に対して set の複数のシグナルが処理待ちの場合、 sigwaitinfo () で取得するシグナルは通常の順序決定ルールに基づいて決定される。 詳細は signal (7) を参照の ... ... t_macros (7) 参照): sigwaitinfo (), sigtimedwait (): _POSIX_C_SOURCE >= 199309L 説明 sigwaitinfo () は set のうちのどれかのシグナルが処理待ちになるまで、 呼び出しスレッドの実行を一時停止する (呼び出しスレッドに対して set のうちのどれかのシグナルが既に待 ... 機中 (pending) である場合、 sigwaitinfo () はすぐに戻る)。 sigwaitinfo () はそのシグナルを待機中のシグナルの集合から削除し、関数の結果としてシグナル番号を返す。 info 引数が NULL でない場合、配送されたシグナルの ... が入った siginfo_t 型 ( sigaction (2) を参照) の構造体を info が指すバッファーに入れて返す。 呼び出し元に対して set の複数のシグナルが処理待ちの場合、 sigwaitinfo () で取得するシグナルは通常の順序決定ルールに基づいて決定される。 詳細は signal (7) を参照の ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。