tail head cat sleep
QR code linking to this page

manページ  — GETPGRP

名称

getpgrp – プロセスグループの取得

内容

ライブラリ

Standard C Library (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() システムコールは BSD 4.0 で登場しました。 getpgid() システムコールは AT&T V.4 での使用法に由来しています。

規格

getpgrp() システムコールは IEEE Std 1003.1-90 ("POSIX.1") に適合しています。

互換性

このバージョンの getpgrp() システムコールは、 pid_t pid 引数を取らないという点で過去の Berkeley バージョンとは異なっています。 互換性は IEEE Std 1003.1-90 ("POSIX.1") への対応により失われてしまいました。

IEEE Std 1003.1-90 ("POSIX.1") 基本概念から:

BSD 4.3 は、指定のプロセスについてプロセスグループ ID を返す getpgrp() 関数を備えています。 この関数はジョブ制御をサポートするのに使用されますが、 既知のジョブ制御をする全てのシェルは、必ずこの関数に 呼び出しプロセスを指定しています。 そのためより簡単な AT&T V getpgrp() で十分であり、 BSD 4.3 getpgrp() の追加された複雑さは POSIX.1 から省略されています。 古い機能は getpgid() システムコールで利用できます。


GETPGRP (2) June 4, 1993

tail head cat sleep
QR code linking to this page


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

What is this horrible fascination with Unix? The operating system of the 1960s, still gaining in popularity in the 1990s.
— Donald A. Norman