Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лабораторки по ОС препод Челноков / 2семестр / wi2 / olesha / 132
.c#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
main(){
pid_t pid;
pid_t pid2;
int status;
int status2;
char ans;
switch(pid = fork()){
case -1:
perror("1 fork error");
break;
case 0:
switch(pid2 = fork()){
case -1:
perror("2 fork error");
break;
case 0:
while(1){
printf("EXIT y/n ?");
scanf("%c", &ans);
if(ans == 'y') exit(0);
sleep(3);
}
default:
if((pid2 = wait(&status2)) == -1){
perror("2 wait error");
exit(20);
}
exit(2);
break;
}
break;
default:
if((pid = wait(&status)) == -1){
perror("1 wait error");
exit(10);
}
exit(1);
}
}