我试图了解fork()
和wait()
系统调用之间的关系。下面的代码是我尝试将'a'的值传递给父进程的尝试。但是,父进程打印的数字不同于“ 15”。如果您能向我解释一下,我会很高兴。
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
int main()
{
int pid=0;
int a=0;
int b=0;
if((pid=fork())==0)
{
a=15;
exit(a);
}
else
{
wait(&b);
printf("%d",b);
}
return 0;
}