Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
- int main(void)
- {
- pid_t proces = getpid();
- char bufor [20];
- sprintf(bufor, "pstree -c %d", proces);
- printf("1 PID: %d, PPID: %d\n", getpid(), getppid());
- if(fork()==0)
- {
- printf("5 PID: %d, PPID: %d\n", getpid(), getppid());
- wait(NULL);
- }
- else if(fork()==0)
- {
- printf("4 PID: %d, PPID: %d\n", getpid(), getppid());
- wait(NULL);
- }
- else if(fork()==0)
- {
- printf("3 PID: %d, PPID: %d\n", getpid(), getppid());
- if(fork()==0)
- {
- printf("8 PID: %d, PPID: %d\n", getpid(), getppid());
- if(fork()==0)
- {
- printf("10 PID: %d, PPID: %d\n", getpid(), getppid());
- wait(NULL);
- }
- else if(fork()==0)
- {
- printf("9 PID: %d, PPID: %d\n", getpid(), getppid());
- wait(NULL);
- }
- wait(NULL);
- }
- else if(fork()==0)
- {
- printf("7 PID: %d, PPID: %d\n", getpid(), getppid());
- wait(NULL);
- }
- else if(fork()==0)
- {
- printf("6 PID: %d, PPID: %d\n", getpid(), getppid());
- wait(NULL);
- }
- wait(NULL);
- }
- else if(fork()==0)
- {
- printf("2 PID: %d, PPID: %d\n", getpid(), getppid());
- system(bufor);
- wait(NULL);
- }
- sleep(1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement