我目前正在研究 C 中的 fork() 函数。我了解它的作用(我认为)。为什么我们在下面的程序中检查它?
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
int pid;
pid=fork();
if(pid<0) /* Why is this here? */
{
fprintf(stderr, "Fork failed");
exit(-1);
}
else if (pid == 0)
{
printf("Printed from the child process\n");
}
else
{
printf("Printed from the parent process\n");
wait(pid);
}
}
在这个程序中,我们检查返回的 PID 是否 < 0,这表示失败。为什么 fork() 会失败?