fork()
ループ内の動作に関する質問。が呼び出された場合、 が呼び出されていないとfork()
仮定するwait()
と、親プロセスはコードを続行し、トップに戻ってq
終了するように入力するように求めます。フォークされた子はpid
、0 ではなく子の ID に等しい必要があるため、ID とブレークをすぐに出力する必要があります。代わりに、無限ループに入ります。
私が誤解していることを誰か教えてもらえますか?
int main (int argc, char *argv[])
{
char run[2];
int pid=0;
while (run[0]!= 'q')
{
printf("Type q to quit \n");
fgets (run, 2, stdin);
pid=fork();
//wait();
printf("child ID: %i\n", pid);
if(pid!=0) { break;}
}
}