APUEから:
プロセスは、自分または子プロセスのプロセスグループIDのみを設定できます。さらに、子プロセスはexec関数の1つを呼び出した後、子プロセスの1つのプロセスグループIDを変更することはできません。
なぜ「子プロセスがexec関数の1つを呼び出した後に子プロセスの1つのプロセスグループIDを変更できないのですか?」ありがとうございます。
答え1
「正式な」理由はわかりませんが、プロセスでPGIDが突然変更されると予想する必要はないと思います。
したがって、これはシェルパイプを設定できるようにフォーク後に許可されますが、execve()
新しいバイナリが特定の状態を見つけた後は(新しいバイナリが変更することを決定するまで)永続的でなければなりません。