スポンサーリンク

SETPGID(2) FreeBSD システムコールマニュアル SETPGID(2)

名称

setpgid, setpgrp − プロセスグループを設定する

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <unistd.h>

int

setpgid(pid_t pid, pid_t pgrp);

int

setpgrp(pid_t pid, pid_t pgrp);

解説

setpgid() システムコールは、指定されたプロセス pid のプロセスグループを指 定された pgrp に設定します。 pid が 0 の場合、呼び出しは現在のプロセスに 適用されます。

影響されるプロセスが実行したプロセスでない場合には、それは実行したプロセ スの子プロセスでなければならず、既に exec(3) 操作を実行していてはならず、 両方のプロセスが同じセッション中になければなりません。要求されたプロセス グループ ID は呼び出し側のセッション中に既に存在していなければならない か、または目的のプロセス ID と同一でなければなりません。

戻り値

関数 setpgid() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。

エラー

setpgid() システムコールは、次の場合に処理を失敗し、プロセスグループは変 更されません:

       [EINVAL]

要求されたプロセスグループ ID は正当ではありません。

[ESRCH]
要求されたプロセスが存在しません。

[ESRCH]
目的のプロセスが、呼び出したプロセスでも、呼び出したプ ロセスの子プロセスでもありません。

[EACCES]
要求されたプロセスが呼び出したプロセスの子プロセスです が、 exec(3) 操作を既に行っています。

[EPERM]
目的のプロセスがセッションリーダです。

[EPERM]
要求されたプロセスグループ ID が呼び出し側のセッション の中に無く、目的のプロセスのプロセス ID とも等しくあり ません。

関連項目

getpgrp(2)

規格

setpgid() システムコールは ISO/IEC 9945-1:1990 (‘‘POSIX.1’’) に適合してい ます。

互換性

setpgrp() システムコールは、 setpgid() と同一であり、 BSD の旧バージョン との呼び出し規約互換のために保持されています。

FreeBSD 10.0 February 8, 2004 FreeBSD 10.0

スポンサーリンク