我有一个 shell 程序,其中创建了一个 fork,然后使用两个 if else 语句来分隔父进程和子进程。
我的示例程序在这里,我有几个问题
while(true)
{
/* read command line input */
x = fork();
if( x > 0)
{
wait(&status);
}
else
{
/* run the exec() command */
}
}
从上面的代码中,它会在 fork 之后首先执行哪个语句,父级如何知道子级 exec 命令执行成功或不成功,父级何时停止等待以及在何种条件下以及如何执行。以及 wait(&status) 代码将如何工作。
帮助将不胜感激。