Untitled
unknown
plain_text
2 years ago
979 B
6
Indexable
#include <stdlib.h>
#include <stdio.h>
#include <sys/wait.h>
#include <sys/types.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
int status;
pid_t p0 = getpid(), p1 = fork();
if (p1 != 0) {
pid_t p2 = fork();
if (p2 != 0) {
waitpid(p2, &status, 0);
waitpid(p1, &status, 0);
printf("p1\n");
exit(0);
}
pid_t p3 = fork();
if (p3 == 0) {
printf("p3 ");
exit(0);
}
waitpid(p3, &status, 0);
printf("p2 ");
exit(0);
}
sleep(2);
if (p1 == 0) {
pid_t p5 = fork();
if (p5 == 0) {
printf("p6 ");
exit(0);
}
waitpid(p5, &status, 0);
pid_t p4 = fork();
if (p4 == 0) {
printf("p5 ");
exit(0);
}
waitpid(p4, &status, 0);
waitpid(p0, &status, 0);
printf("p4 ");
exit(0);
}
}
Editor is loading...
Leave a Comment