问题一:
鉴于下面的代码,我知道当您调用分叉时,大多数情况下它的资源都会传递给子进程。现在,我查找的几乎每个 Fork 示例都像我所拥有的那样设置。从它的外观来看,我不明白父进程是如何被调用的,因为它位于 else 块中。
问题乙:
子进程中的代码执行完后,是不是自动知道现在要进入父进程了?我在其他示例中也看到了等待(NULL),如果它无论如何都要进入 else 块,那么等待的作用是什么。假设我想执行同一个父进程的两个子进程,这两个进程会并行运行,然后在完成后运行父进程的代码吗?谢谢。
#include <stdio.h>
#include <unistd.h>
int main()
{
pid_t pid;
pid = fork();
if(pid == 0){
printf("Hello World");
}
else{
printf("Hello World");
}
return 0;
}