C - Bedeutung des Wartens (NULL) beim parallelen Ausführen von fork ()

Laufen die Gabeln im folgenden Code tatsächlich parallel oder nacheinander?

Was ist die Bedeutung vonwait(NULL) ?

(Das Programm erstellt n untergeordnete Prozesse, n wird über die Befehlszeile bereitgestellt.)

int main ( int argc, char *argv[] ) {
    int i, pid;

    for(i = 0; i < atoi(argv[1]); i++) {
        pid = fork();
        if(pid < 0) {
            printf("Error occured");
            exit(1);
        } else if (pid == 0) {
            printf("Child (%d): %d\n", i + 1, getpid());
            exit(0); 
        } else  {
            wait(NULL);
        }
    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage