OSDN Git Service

Update releases for LDP 3.68
[linuxjm/LDP_man-pages.git] / release / man2 / sigaction.2
index 4819167..864eded 100644 (file)
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH SIGACTION 2 2013\-04\-19 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya all rights reserved.
+.\" Translated 1997-03-03, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified 2000-10-02, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified 2001-10-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2005-03-15, Akihiro MOTOKI
+.\" Updated 2005-10-05, Akihiro MOTOKI
+.\" Updated 2007-09-08, Akihiro MOTOKI, LDP v2.64
+.\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
+.\" Updated 2010-04-18, Akihiro MOTOKI, LDP v3.24
+.\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-07-22, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH SIGACTION 2 2014\-04\-27 Linux "Linux Programmer's Manual"
 .SH 名前
 sigaction \- シグナルの動作の確認と変更
 .SH 書式
@@ -101,13 +115,11 @@ struct sigaction {
 そのシグナルを無視する \fBSIG_IGN\fP、 シグナルハンドラ関数へのポインタが設定できる。
 シグナルハンドラ関数の引き数は一つであり、シグナル番号が引き数として 渡される。
 .PP
-\fIsa_flags\fP に \fBSA_SIGINFO\fP が指定された場合、 (\fIsa_handler\fP ではなく)
-\fIsa_sigaction\fP により \fIsignum\fP に対応するシグナルハンドラ関数が指定さ
-れる。指定される関数は、最初の引き数としてシグナル番号を、二番目の引き
-数として \fIsiginfo_t\fP へのポインタを、三番目の引き数として (\fIvoid\ *\fP
-にキャストした) \fIucontext_t\fP へのポインタを受けとる。 (一般的には、
-ハンドラ関数の三番目の引き数が使用されない。\fIucontext_t\fP についての
-詳しい情報は \fBgetcontext\fP(3) を参照。)
+\fIsa_flags\fP に \fBSA_SIGINFO\fP が指定された場合、 (\fIsa_handler\fP ではなく) \fIsa_sigaction\fP
+により \fIsignum\fP に対応するシグナルハンドラ関数が指定される。指定される関数は、最初の引き数としてシグナル番号を、二番目の引き数として
+\fIsiginfo_t\fP へのポインタを、三番目の引き数として (\fIvoid\ *\fP にキャストした) \fIucontext_t\fP
+へのポインタを受けとる。 (一般的には、ハンドラ関数の三番目の引き数が使用されない。\fIucontext_t\fP についての詳しい情報は
+\fBgetcontext\fP(3) を参照。)
 .PP
 \fIsa_mask\fP は、シグナル・ハンドラ実行中に禁止 (block) すべきシグナルのマスクを指定する
 (ハンドラ実行中のシグナルの禁止は、シグナル・ハンドラが起動されたスレッド のシグナルのマスクに追加することで行われる)。 さらに、
@@ -195,16 +207,14 @@ siginfo_t {
 Linux では一般的には使用されない)。 構造体の残りの部分は、共用体 (union) になっているかもしれない。
 その場合は該当するシグナルにおいて意味のあるフィールドのみを読み込む ことができる。
 .IP * 2
-\fBkill\fP(2) や \fBsigqueue\fP(3) で送信されたシグナルでは \fIsi_pid\fP と \fIsi_uid\fP が設定される。
-さらに、 \fBsigqueue\fP(3) で送信されたシグナルでは \fIsi_int\fP と \fIsi_pid\fP
+\fBkill\fP(2) や \fBsigqueue\fP(3) で送信されたシグナルでは \fIsi_pid\fP と \fIsi_uid\fP が設定される。 さらに、
+\fBsigqueue\fP(3) で送信されたシグナルでは \fIsi_int\fP と \fIsi_pid\fP
 にシグナルの送信者により指定された値が設定される。詳細は \fBsigqueue\fP(3) を参照。
 .IP *
-POSIX.1b タイマ (Linux 2.6 以降) は \fIsi_overrun\fP と \fIsi_timerid\fP を
-設定する。 \fIsi_timerid\fP フィールドはカーネルがタイマを特定するのに
-使用する内部 ID であり、 \fBtimer_create\fP(2) が返すタイマ ID と同じではない。
-\fIsi_overrun\fP フィールドはタイマが回り切った回数である。
-これは \fBtimer_getoverrun\fP(2) の呼び出しで取得できる情報と同じである。
-これらのフィールドは非標準で Linux による拡張である。
+POSIX.1b タイマ (Linux 2.6 以降) は \fIsi_overrun\fP と \fIsi_timerid\fP を設定する。
+\fIsi_timerid\fP フィールドはカーネルがタイマを特定するのに使用する内部 ID であり、 \fBtimer_create\fP(2) が返すタイマ
+ID と同じではない。 \fIsi_overrun\fP フィールドはタイマが回り切った回数である。 これは \fBtimer_getoverrun\fP(2)
+の呼び出しで取得できる情報と同じである。 これらのフィールドは非標準で Linux による拡張である。
 .IP *
 メッセージキューの通知用に送信されたシグナル (\fBmq_notify\fP(3) の \fBSIGEV_SIGNAL\fP の説明を参照) では、
 \fIsi_int\fP/\fIsi_ptr\fP に \fBmq_notify\fP(3) に渡された \fIsigev_value\fP が設定される。 \fIsi_pid\fP
@@ -224,30 +234,24 @@ POSIX.1b タイマ (Linux 2.6 以降) は \fIsi_overrun\fP と \fIsi_timerid\fP
 .\" But note that these fields still don't return the times of
 .\" waited-for children (as is done by getrusage() and times()
 .\" and wait4()).  Solaris 8 does include child times.
-\fBSIGCHLD\fP は \fIsi_pid\fP, \fIsi_uid\fP, \fIsi_status\fP, \fIsi_utime\fP,
-\fIsi_stime\fP を設定し、子プロセスに関する情報を提供する。
-\fIsi_pid\fP フィールドは子プロセスのプロセス ID で、
-\fIsi_uid\fP フィールドは子プロセスの実ユーザ ID である。
-\fIsi_stime\fP フィールドには、 (\fIsi_code\fP が \fBCLD_EXITED\fP の場合は)
-子プロセスの終了ステータスが、それ以外の場合は状態が変化する原因と
-なったシグナル番号が格納される。
-\fIsi_utime\fP と \fIsi_stime\fP には子プロセスが使用したユーザ CPU 時間とシ
-ステム CPU 時間がそれぞれ格納される。(\fBgetrusage\fP(2) や \fBtime\fP(2) と
-異なり) これらのフィールドには wait 待ちの子プロセスにより使用された時
-間は含まれない。 2.6 より前と 2.6.27 以降のカーネルでは、 これらのフィー
-ルドに格納される CPU 時間の単位は \fIsysconf(_SC_CLK_TCK)\fP である。
-2.6.27 より前の 2.6 系のカーネルでは、バグがあり、 これらのフィールドの
-CPU 時間の単位が (カーネルのコンフィグで指定される) システムの jiffy で
-あった (\fBtime\fP(7) 参照)。
+\fBSIGCHLD\fP は \fIsi_pid\fP, \fIsi_uid\fP, \fIsi_status\fP, \fIsi_utime\fP, \fIsi_stime\fP
+を設定し、子プロセスに関する情報を提供する。 \fIsi_pid\fP フィールドは子プロセスのプロセス ID で、 \fIsi_uid\fP
+フィールドは子プロセスの実ユーザ ID である。 \fIsi_stime\fP フィールドには、 (\fIsi_code\fP が \fBCLD_EXITED\fP
+の場合は) 子プロセスの終了ステータスが、それ以外の場合は状態が変化する原因となったシグナル番号が格納される。 \fIsi_utime\fP と
+\fIsi_stime\fP には子プロセスが使用したユーザ CPU 時間とシステム CPU 時間がそれぞれ格納される。(\fBgetrusage\fP(2) や
+\fBtimes\fP(2) と異なり) これらのフィールドには wait 待ちの子プロセスにより使用された時間は含まれない。 2.6 より前と 2.6.27
+以降のカーネルでは、 これらのフィールドに格納される CPU 時間の単位は \fIsysconf(_SC_CLK_TCK)\fP である。 2.6.27
+より前の 2.6 系のカーネルでは、バグがあり、 これらのフィールドの CPU 時間の単位が (カーネルのコンフィグで指定される) システムの
+jiffy であった (\fBtime\fP(7) 参照)。
 .IP *
 .\" FIXME SIGTRAP also sets the following for ptrace_notify() ?
 .\"     info.si_code = exit_code;
 .\"     info.si_pid = task_pid_vnr(current);
 .\"     info.si_uid = current_uid();  /* Real UID */
 \fBSIGILL\fP, \fBSIGFPE\fP, \fBSIGSEGV\fP, \fBSIGBUS\fP, \fBSIGTRAP\fP では、 \fIsi_addr\fP に
-fault が発生したアドレスが設定される。 いくつかのアーキテクチャでは \fIsi_trapno\fP も設定される。 \fBSIGBUS\fP
-が発生するエラーのいくつか、特に \fBBUS_MCEERR_AO\fP と \fBBUS_MCEERR_AR\fP では、 \fIsi_addr_lsb\fP
-も設定される。 このフィールドは報告されるアドレスの最下位ビットを示し、 これによりメモリ破壊の程度を知ることができる。
+fault が発生したアドレスが設定される。 いくつかのアーキテクチャでは、 これらのシグナルは \fIsi_trapno\fP フィールドにも設定される。
+\fBSIGBUS\fP が発生するエラーのいくつか、特に \fBBUS_MCEERR_AO\fP と \fBBUS_MCEERR_AR\fP では、
+\fIsi_addr_lsb\fP も設定される。 このフィールドは報告されるアドレスの最下位ビットを示し、 これによりメモリ破壊の程度を知ることができる。
 例えば、ページ全体が壊れている場合には \fIsi_addr_lsb\fP には \fIlog2(sysconf(_SC_PAGESIZE))\fP が入る。
 \fBBUS_MCERR_*\fP と \fIsi_addr_lsb\fP は Linux 固有の拡張である。
 .IP *
@@ -433,8 +437,7 @@ I/O エラー
 デバイスが接続されていない
 .RE
 .SH 返り値
-\fBsigaction\fP()  returns 0 on success; on error, \-1 is returned, and \fIerrno\fP
-is set to indicate the error.
+\fBsigaction\fP() 関数は成功すると 0 を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値をセットする。
 .SH エラー
 .TP 
 \fBEFAULT\fP
@@ -447,9 +450,8 @@ is set to indicate the error.
 .\" SVr4 does not document the EINTR condition.
 POSIX.1\-2001, SVr4.
 .SH 注意
-\fBfork\fP(2) 経由で作成された子プロセスは、親プロセスのシグナルの処理方法の コピーを継承する。
-\fBexecve\fP(2) の前後で、ハンドラが設定されているシグナルの処理方法はデフォルトにリセットされ、
-無視が設定されているシグナルの処理方法は変更されずそのままとなる。
+\fBfork\fP(2) 経由で作成された子プロセスは、親プロセスのシグナルの処理方法の コピーを継承する。 \fBexecve\fP(2)
+の前後で、ハンドラが設定されているシグナルの処理方法はデフォルトにリセットされ、 無視が設定されているシグナルの処理方法は変更されずそのままとなる。
 
 POSIX では、 \fBkill\fP(2)  や \fBraise\fP(3)  で生成できないシグナル \fBSIGFPE\fP, \fBSIGILL\fP,
 \fBSIGSEGV\fP を無視 (ignore) した場合、その後の動作は未定義である。 ゼロによる整数割り算の結果は未定義となる。
@@ -458,14 +460,13 @@ POSIX では、 \fBkill\fP(2)  や \fBraise\fP(3)  で生成できないシグ
 .PP
 POSIX.1\-1990 では \fBSIGCHLD\fP に \fBSIG_IGN\fP を設定することを認めていない。 POSIX.1\-2001
 では認められており、 \fBSIGCHLD\fP を無視することでゾンビプロセスの生成を防止することができる (\fBwait\fP(2)  を参照)。
-さらに、BSD と SystemV では \fBSIGCHLD\fP を無視した際の動作が異なっている。
+さらに、BSD と SystemV では \fBSIGCHLD\fP を無視した際の動作が異なっている。
 そのため、完全に移植性がある方法で、終了した子プロセスがゾンビにならないこと を保証するには、 \fBSIGCHLD\fP シグナルを補足し、
 \fBwait\fP(2)  などを実行するしかない。
 .PP
-POSIX.1\-1990 の仕様では \fBSA_NOCLDSTOP\fP のみが定義されている。
-POSIX.1\-2001 では \fBSA_NOCLDWAIT\fP, \fBSA_RESETHAND\fP, \fBSA_NODEFER\fP,
-\fBSA_SIGINFO\fP が追加された。 UNIX の古い実装で動かすアプリケーションで、
-他の \fIsa_flags\fP フラグを使用すると移植性が下がる。
+POSIX.1\-1990 の仕様では \fBSA_NOCLDSTOP\fP のみが定義されている。 POSIX.1\-2001 では
+\fBSA_NOCLDWAIT\fP, \fBSA_RESETHAND\fP, \fBSA_NODEFER\fP, \fBSA_SIGINFO\fP が追加された。 UNIX
+の古い実装で動かすアプリケーションで、 他の \fIsa_flags\fP フラグを使用すると移植性が下がる。
 .PP
 \fBSA_RESETHAND\fP フラグは SVr4 の同じ名前のフラグと互換性がある。
 .PP
@@ -493,12 +494,11 @@ POSIX.1\-2001 では \fBSA_NOCLDWAIT\fP, \fBSA_RESETHAND\fP, \fBSA_NODEFER\fP,
 .SH 例
 \fBmprotect\fP(2)  参照。
 .SH 関連項目
-\fBkill\fP(1), \fBkill\fP(2), \fBkillpg\fP(2), \fBpause\fP(2), \fBsigaltstack\fP(2),
-\fBsignal\fP(2), \fBsignalfd\fP(2), \fBsigpending\fP(2), \fBsigprocmask\fP(2),
-\fBsigsuspend\fP(2), \fBwait\fP(2), \fBraise\fP(3), \fBsiginterrupt\fP(3),
-\fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsigvec\fP(3), \fBcore\fP(5),
-\fBsignal\fP(7)
+\fBkill\fP(1), \fBkill\fP(2), \fBkillpg\fP(2), \fBpause\fP(2), \fBrestart_syscall\fP(2),
+\fBsigaltstack\fP(2), \fBsignal\fP(2), \fBsignalfd\fP(2), \fBsigpending\fP(2),
+\fBsigprocmask\fP(2), \fBsigsuspend\fP(2), \fBwait\fP(2), \fBraise\fP(3),
+\fBsiginterrupt\fP(3), \fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsigvec\fP(3),
+\fBcore\fP(5), \fBsignal\fP(7)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.68 の一部である。
+プロジェクトの説明とバグ報告に関する情報は \%http://www.kernel.org/doc/man\-pages/ に書かれている。