私は現在、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() が失敗するのはなぜですか?