質問: fork ()) printf ("this is the parent, child pid is %d\n", child_pid); else printf ("this is the child, pid is %d\n",getpid ()); _fork()呼び出しの後、子プロセスはどこで実行を開始しますか?
回答: 新しいプロセスはfork()呼び出し内で作成され、親のようにそこから戻ることから始まります。 fork()からの戻り値(retvalに保存したもの)は次のようになります。 子プロセスでは0 親プロセスの子のpid 失敗があった場合は親に-1(当然、子はありません) テストコードは正しく動作します。 fork()からの戻り値をchild_pidに格納し、ifを使用して0かどうかを確認します(エラーの確認は行いません)