我正在寫我自己的shell,但沒有fork給我的child_pid = 0 ... 有什麼不對?如何在這個fork()和exec()?
while(true)
{
read_command(command);
if ((child_pid = fork()) == -1)
{
fprintf(stderr, "can't fork\n");
exit(1);
}
else if (child_pid == 0) //child
{
status=execl("./myShell" command);
}
else
{
wait(status); //parent
}
}
你怎麼知道這個? – 2010-11-14 18:03:22
我不明白你的問題 – DerekFisher 2010-11-14 18:11:38
他的意思是:你怎麼知道'child_pid'永遠不是0?你嘗試打印嗎? – casablanca 2010-11-14 18:14:26