GETPGRP(2) FreeBSD システムコールマニュアル GETPGRP(2)
名称
getpgrp − プロセスグループの取得 |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <unistd.h> pid_t |
getpgrp(void); pid_t |
getpgid(pid_t pid); |
解説 |
現在のプロセスのプロセスグループは getpgrp() によって返されます。 pid に よって識別されるプロセスのプロセスグループは getpgid() によって返されま す。 pid が 0 の場合、 getpgid() は現在のプロセスのプロセスグループを返し ます。 プロセスグループはシグナルの配信用に使用され、また端末によって入力の要求 を調整するのにも使用されます。端末と同じプロセスグループを持つ (1 つ以上 の) プロセスはフォアグラウンドであり読み取りできます。一方で、その他のプ ロセスが読み取ろうした場合は、シグナルによってブロックさせられます。 このように、このシステムコールは csh(1) のようにジョブ制御のためにプロセ スグループの作成を行うプログラムによって使用されます。 tcgetpgrp() 呼び出 しと tcsetpgrp() 呼び出しは制御端末のプロセスグループを取得 / 設定するの に使用されます。 |
戻り値
getpgrp() システムコールは、常に成功します。成功裏に完了すると、 getpgid() システムコールは指定したプロセスのプロセスグループを返します。 失敗すると、値 −1 を errno に設定してエラーを示します。 |
エラー
getpgid() システムコールは次の場合以外は成功します: |
[ESRCH]
pid で指定したプロセスに対応するプロセスが見つかりませ ん。 関連項目 |
getsid(2), setpgid(2), termios(4) |
歴史
getpgrp() システムコールは 4.0BSD で登場しました。 getpgid() システムコー ルは AT&T System V.4 UNIX での使用法に由来しています。 |
規格
getpgrp() システムコールは ISO/IEC 9945-1:1990 (‘‘POSIX.1’’) に適合してい ます。 |
互換性
このバージョンの getpgrp() システムコールは、 pid_t pid 引数を取らないと いう点で過去の Berkeley バージョンとは異なっています。互換性は ISO/IEC 9945-1:1990 (‘‘POSIX.1’’) への対応により失われてしまいました。 ISO/IEC 9945-1:1990 (‘‘POSIX.1’’) 基本概念から: 4.3BSD は、指定のプロセスについてプロセスグループ ID を返す getpgrp() 関 数を備えています。この関数はジョブ制御をサポートするのに使用されますが、 既知のジョブ制御をする全てのシェルは、必ずこの関数に呼び出しプロセスを指 定しています。そのためより簡単な AT&T System V UNIX getpgrp() で十分であ り、 4.3BSD getpgrp() の追加された複雑さは POSIX.1 から省略されています。 古い機能は getpgid() システムコールで利用できます。 FreeBSD 10.0 June 4, 1993 FreeBSD 10.0 |