#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t pid;
pid = fork(); // #1
if (pid == 0) {
if(fork() > 0) // #2
fork(); // #3
} else
fork(); // #4
return 0;
}
Ich bin wirklich verwirrt auf # 4, weil ich nicht weiß, ob das Programm diese else-Anweisung ausführen wird. Wissen Sie, wie viele Prozesse letztendlich laufen?Was ist die Gesamtzahl der Prozesse für die fork() in Unix?
Und hier gibt es ein anderes Programm. Wie hoch ist die Gesamtzahl der Prozesse? Vielen Dank!
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int main() {
for (int i = 0; i < 10; i++)
if (fork()) {
fork();
fork();
} else
fork();
return 0;
}