Untitled

 avatar
unknown
c_cpp
4 years ago
599 B
8
Indexable
void homework_wait() {
   pid_t pid[N], wpid[N];
   int i, child_status[N];
   for (i = 0; i < N; i++) {
        if ((pid[i] = fork()) == 0) {
            exit(100+i); /* Child */
        }
        wpid[i] = wait(&child_status[i]);
    }
    printf("hello!\n");
    
    for (i = 0; i < N; i++) { /* Parent */
        //pid_t wpid = wait(&child_status);
        if (WIFEXITED(child_status[i]))
            printf("Child %d terminated with exit status %d\n",
                   wpid[i], WEXITSTATUS(child_status[i]));
        else
            printf("Child %d terminate abnormally\n", wpid);
    }
}
Editor is loading...