TCSETPGRP(3)

名称
tcsetpgrp - フォアグラウンド処理グループ ID の設定

書式
#include <sys/types.h> #include <unistd.h> int tcsetpgrp(int fd, pid_t pgrp_id)

解説
処理が制御する端末を持つ場合は、 tcsetpgrp 関数はその端末デバイスと連携したフォアグラウンド処理グループ ID を pgrp_id に設定します。 fd に連携した端末デバイスは、呼び出し処理の制御端末でなければならず、またその 制御端末はその呼び出し側処理のセッションに 現在連携していなければなりません。 pgrp_id の値は、同じセッションにおける処理の呼び出し側処理の処理グループ ID と 同じでなければなりません。

処理が成功して完了すると、 tcsetpgrp は値ゼロを返します。

エラー
エラーが起きた場合は、 tcsetpgrp は値 -1 を返してエラーを示すグローバル変数 errno を次のように設定します：

[EBADF]
    引数 fd が有効なファイル記述子ではありません。

[EINVAL]
    無効な pgrp_id の値が指定されました。

[ENOTTY]
    呼び出し処理が制御端末を持っていないか、または fd で 表わされるファイルが制御端末ではないか、または制御端末がもはや呼び出し 処理のセッションに結合されていません。

[EPERM]
    引数 pgrp_id が、同じセッションにおける処理の呼び出し側処理の 処理グループ ID と一致しません。

参照
setpgid(2), setsid(2), tcgetpgrp(3)

規格
tcsetpgprp 関数は、 p1003.1-88 規格に準拠しているものと考えられます。