フォークが作成され、2 つの if else ステートメントを使用して親プロセスと子プロセスを分離するシェル プログラムがあります。
私のサンプル プログラムはここにあり、いくつか質問があります
while(true)
{
/* read command line input */
x = fork();
if( x > 0)
{
wait(&status);
}
else
{
/* run the exec() command */
}
}
上記のコードから、フォーク後にどのステートメントが最初に実行され、親は子の exec コマンドが正常に実行されたか失敗したかをどのように認識し、親はいつ、どの条件で、どのように待機を停止しますか。また、wait(&status) コードはどのように機能しますか。
助けていただければ幸いです。