tail head cat sleep
QR code linking to this page

manページ  — PSIGNAL

名称

psignal, pgsignal, gsignal – プロセスまたはプロセスグループへのシグナルの配信

内容

書式

#include <sys/types.h>
#include <sys/signalvar.h>

void
psignal(struct proc *p, int signum);

void
pgsignal(struct pgrp *pgrp, int signum, int checkctty);

void
gsignal(int pgid, int signum);

解説

これらの関数は 1 つ以上のプロセスへシグナルを配信します。 3 つの関数全てに共通な引数 signum は [1- NSIG] の範囲であるべきです。

psignal() 関数はシグナル番号 signum をプロセス構造体 p によって表現されるプロセスに配信します。 以下に示す少しの例外がありますが、配信先プロセスシグナル配置は更新され、 実行可能としてマークされます。そのためこのシグナルの取り扱いは、 コンテキストスイッチの後で配信先プロセスのコンテキスト内で完了します。 psignal() は自分自身でコンテキストスイッチを引き起こすことはないことに注意してください。

以下の場合には、配信先プロセスが実行可能としてマークされません。

配信先プロセスがトレース中の場合には、 psignal() はまるで配信先プロセスが signum のためのデフォルトの行動を取ったかのように振舞います。 これはトレースしているプロセスにそのシグナルが通知されることを可能にします。

pgsignal() 関数はシグナル番号 signumpgrp によって記述されるプロセスグループの個々のメンバに配信します。 checkctty が 0 でない場合には、そのシグナルは制御端末を持っているプロセスにのみ 配信されます。 pgsignal()pgrp によって指されるプロセスグループ構造体の pg_members フィールドによって指されるプロセスリストに沿って歩き、適切に psignal() を呼び出すことによって実装されています。 pgrp NULL の場合には何の行動も取りません。

gsignal() 関数はシグナル番号 signum をグループ ID pgid によって識別されるプロセスグループの個々のメンバに配信します。 gsignal() は最初に pgid に関連付けられているグループ構造体を見つけ、それから引数 checkctty を 0 に設定して pgsignal() を実行します。 pgid が 0 の場合には何の行動も取りません。

関連項目

sigaction(2), tsleep(9)

PSIGNAL (9) June 22, 1996

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Computer science would have progressed much further and faster if all of the time and effort that has been spent maintaining and nurturing Unix had been spent on a sounder operating system.
— The Unix Haters' handbook