Manpages

名 前

killpg − シ グ ナ ル を プ ロ セ ス グ ル ー プ に 送 る

書 式

#include <signal.h>

int killpg(int pgrp, int sig);

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):

killpg():

_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

説 明

killpg() は sig で 指 定 し た シ グ ナ ル を pgrp で 指 定 し た プ ロ セ ス グ ル ー プ に 送 る 。 シ グ ナ ル の 定 義 の 一 覧 は signal(7) を 参 照 の こ と 。 引 き 数 pgrp に 0 を 指 定 し た 場 合 に は killpg() は 呼 び 出 し 元 の プ ロ セ ス が 属 し て い る プ ロ セ ス グ ル ー プ に 対 し て シ グ ナ ル を 送 る 。 (POSIX で は 以 下 の よ う に 記 述 さ れ て い る : pgrp が 1 以 下 で あ る 場 合 、 動 作 は 未 定 義 で あ る 。 ) プ ロ セ ス が シ グ ナ ル を 送 信 す る 許 可 を 持 つ た め に は 、 プ ロ セ ス が 特 権 (Linux で は CAP_KILL ケ ー パ ビ リ テ ィ (capability)) を 持 つ か 、 送 信 元 プ ロ セ ス の 実 ユ ー ザ ー ID ま た は 実 効 ユ ー ザ ー ID が 送 信 先 プ ロ セ ス の 実 set−user−ID ま た は 保 存 set−user−ID と 等 し く な け れ ば な ら な い 。 SIGCONT の 場 合 、 送 信 プ ロ セ ス と 受 信 プ ロ セ ス が 同 じ セ ッ シ ョ ン に 属 し て い れ ば 十 分 で あ る 。

返 り 値

成 功 し た 場 合 、 0 が 返 さ れ る 。 エ ラ ー が 発 生 し た 場 合 、 −1 が 返 さ れ 、 errno が 適 切 に 設 定 さ れ る 。

エ ラ ー

EINVAL

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

EPERM

プ ロ セ ス が 、 受 信 す る プ ロ セ ス の い ず れ に 対 し て も シ グ ナ ル を 送 る 許 可 を 持 っ て い な い 。

ESRCH

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

ESRCH

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

準 拠

SVr4, 4.4BSD (killpg() は 4BSD で 初 め て 追 加 さ れ た ), POSIX.1−2001。

注 意

BSD 系 シ ス テ ム と System V 系 シ ス テ ム で は 、 許 可 の チ ェ ッ ク に 様 々 な 違 い が あ る 。 kill(2) に つ い て の POSIX の 原 理 (rationale) を 参 照 す る こ と 。 POSIX で 記 述 さ れ て い な い 違 い と し て は 、 返 り 値 EPERM が あ る 。 BSD で は 「 送 信 先 プ ロ セ ス の 許 可 の チ ェ ッ ク が 1 つ で も 失 敗 し た 場 合 は 、 シ グ ナ ル が 送 信 さ れ ず 、 EPERM が 返 さ れ る 」 と 記 述 さ れ て い る 。 POSIX で は 「 送 信 先 プ ロ セ ス の 許 可 の チ ェ ッ ク が 全 て 失 敗 し た 場 合 に の み 、 EPERM が 返 さ れ る 」 と 記 述 さ れ て い る 。

Linux で は 、 killpg() は ラ イ ブ ラ リ 関 数 と し て 実 装 さ れ て お り 、 kill(−pgrp, sig) の 呼 び 出 し が 行 わ れ る 。

関 連 項 目

getpgrp(2), kill(2), signal(2), credentials(7), capabilities(7)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。