KILLPG(2)

名前
killpg - シグナルをプロセス・グループに送る

書式
#include <signal.h>

int killpg(int pgrp, int sig);

説明
Killpg は sig で指定したシグナルを pgrp で指定したプロセス・グループに送る。 シグナルの定義の一覧は sigaction(2) を参照のこと。 引数 pgrp に 0 を指定した場合には killpg は送信プロセスが属しているプロセス・グループに対してシグナルを送る。 シグナルを送ろうとするプロセスと、受け取るプロセス・グループのメンバーは 同じ実効ユーザーID を持つ必要がある。そうでない場合にはシグナルを送ろうと するプロセスはスーパー・ユーザーでなければならない。 唯一の特例として、継続シグナル SIGCONT は送信プロセスと親子関係を持つプロセスに対して送ることができる。

返り値
正常終了すると 0 が返り値となる。異常終了の場合 -1 が返り値となり errno に原因コードが設定される。

エラー

EINVAL
    sig で指定された値は無効なシグナル番号である。

ESRCH
    pgrp で指定されたプロセス・グループに属するプロセスが存在しなかった。

ESRCH
    プロセス・グループとして 0 が指定されたが、送信プロセスは プロセス・グループを持っていない。

EPERM
    シグナルを送ろうとしたプロセスはスーパーユーザーではないし、 その実効ユーザーIDが、シグナルを受け取る 1 または複数の プロセスの実効ユーザーIDと一致してない。

準拠
SVr4, 4.4BSD ( killpg は 4.0BSD で初めて追加された).

関連項目
kill(2), getpgrp(2), signal(2)