POSIX.1\-2001 では以下の動作になることを要求している。 自分自身にシグナルを送ると、シグナルを送ったスレッドがそのシグナルをブロック
しておらず、他のどのスレッドもそのシグナルを受ける状態にもなく \fBsigwait\fP(3) でそのシグナルを待ってもいない場合、 \fBkill\fP()
が返る前に少なくとも一つのブロックされていない シグナルがシグナルを送ったスレッドに配送されなければならない。
-.SS "Linux notes"
+.SS "Linux での注意"
.\" In the 0.* kernels things chopped and changed quite
.\" a bit - MTK, 24 Jul 02
Linux では、特権のないプロセスが他のプロセスにシグナルを送信するために 必要な権限についてのルールが、カーネルバージョンにより違っている。
1.2.3 から 1.3.77では、送信側の実効ユーザーID が受信側の 実ユーザーID か実効ユーザーID
のいずれかと一致すればシグナルを送信できた。 現在のルールは、POSIX.1\-2001 に準拠しており、カーネル 1.3.78 以降で 適用されている。
.SH バグ
-In 2.6 kernels up to and including 2.6.7, there was a bug that meant that
-when sending signals to a process group, \fBkill\fP() failed with the error
-\fBEPERM\fP if the caller did not have permission to send the signal to \fIany\fP
-(rather than \fIall\fP) of the members of the process group. Notwithstanding
-this error return, the signal was still delivered to all of the processes
-for which the caller had permission to signal.
+バージョン 2.6.7 以前の 2.6 系のカーネルには、 プロセスグループにシグナルを送ったときに、 呼び出し元のプロセスがプロセスグループの
+(全メンバーではなく) 一部のメンバーに対してのみシグナルを送る許可を持っていない場合に、 \fBkill\fP() がエラー \fBEPERM\fP
+で失敗するというバグがある。 このエラーが返るにもかかわらず、そのシグナルは呼び出し元が シグナルを送る許可を持つ全てのプロセスへ送られる。
.SH 関連項目
\fB_exit\fP(2), \fBkillpg\fP(2), \fBsignal\fP(2), \fBtkill\fP(2), \fBexit\fP(3),
\fBsigqueue\fP(3), \fBcredentials\fP(7), \fBcapabilities\fP(7), \fBsignal\fP(7)