TCGETPGRP(3V) — NEWS-OS Programmer’s Manual
名称
tcgetpgrp, tcsetpgrp − フォアグラウンドのプロセスグループ ID の取得と設定
形式
int tcgetpgrp(fd)
int fd;
int tcsetpgrp(fd, pgrp_id)
int fd, pgrp_id;
解説
tcgetpgrp は、端末に関連して動いているフォアグラウンドプロセスの プロセスグループ ID を返します。 この tcgetpgrp は、バックグラウンドで動いているプロセスが使用します。 しかし、この情報はフォアグラウンドで動いているプロセスによって 変更されることがあります。
もしプロセスが制御端末を持っていれば、 tcsetpgrp は、その端末に関連するフォアグラウンドプロセスグループ ID を、 pgrp_id にセットします。 ファイルディスクリプタ fd は制御端末を表し、その時の制御端末はそのプロセスのセッションに 入っていなければいけません。 pgrp_id の値は、同じセッションに属するプロセスのプロセスグループ ID に マッチしなければいけません。
リターン値
成功した場合、 tcgetpgrp はその端末に関連するフォアグラウンドプロセスグループの プロセスグループ ID を返します。 失敗した場合、 −1 を返し、 errno にエラー番号をセットします。
tcsetpgrp は、成功すると 0 を返します。 失敗すると −1 を返し、 errno にエラー番号をセットします。
エラー
EBADF fd が正しいファイルディスクリプタではない。
ENOTTY この関数を実行したプロセスは制御端末を持っていない。
ファイルが制御端末ではない。
tcsetpgrp により発生するエラー
EINVAL pgrp_id の値が、正しいプロセスグループ ID ではない。
ENOTTY 制御端末はもはや、この関数を実行したプロセスの セッションに関係していない。
EPERM pgrp_id の値は、正しいプロセスグループ ID を表してはいるが、 このプロセスと同じセッションに属するプロセスグループ ID とマッチしない。
関連事項
NEWS-OSRelease 4.2.1R