目前,我正在做一些基于 UNIX 操作系统的练习。我使用了 fork() 系统调用来创建一个子进程,代码片段如下:
if(!fork())
{
printf("I am parent process.\n");
}
else
printf("I am child process.\n");
而这个程序先执行子进程,再执行父进程。
但是,当我替换if(!fork()) by if(fork()!=0
) 然后父块然后子块执行。这里我的问题是 - 结果是否应该在这两种情况下是相同的,或者这背后有什么原因?提前致谢!!