Ich studiere derzeit die Funktion fork() in C. Ich verstehe, was es tut (denke ich). Meine Frage ist, warum überprüfen wir es in dem folgenden Programm?Wie/Warum kann Gabel() fehlschlagen
#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);
}
}
In diesem Programm, das wir prüfen, ob die PID zurückgegeben wird < 0, was einen Fehler hinweisen. Warum kann fork() fehlschlagen?
Wenn Sie aus irgendeinem Grund nicht mehr Prozesse auf Ihrem Betriebssystem ausführen können, schlägt es fehl. Dies ist nur eine Möglichkeit. – squiguy