Вариант- 1 Выполнил студент Группы 021754: Юсупов Э. И проверил: Соболь А. М минск 2022


/* Cоздание второго процесса от родителя номер-1 */


Download 1.41 Mb.
Pdf ko'rish
bet5/6
Sana18.06.2023
Hajmi1.41 Mb.
#1573658
1   2   3   4   5   6
Bog'liq
2-работа.

/* Cоздание второго процесса от родителя номер-1 */ 
printf("2. процесс с pid %d породил процесс с pid %d\n", getppid(), getpid()); 
pid = fork(); 
if(pid==-1) 

printf("ошибка создания процесса\n"); 

else if(pid==0) 

/* Cоздание третьего процесса от родителя номер-1 */ 
printf("3. процесс с pid %d породил процесс с pid %d\n", getppid(), getpid()); 
pid = fork();
if(pid==-1) 

printf("ошибка создания процесса\n"); 

else if(pid==0) 

 /* Cоздание пятого процесса от родителя номер-3 */ 
printf("5. процесс с pid %d породил процесс с pid %d\n", 
getppid(), getpid()); 
printf("процесс с pid %d завершает работу. pid родителя %d\n", 
getpid(), getppid()); 
exit(0); 

else // продолжение процесса 3 



sleep(1); 
printf("процесс с pid %d завершает работу. pid родителя %d\n", 
getpid(), getppid()); 
exit(0); 


else // продолжение процесса 2 

pid = fork(); 
if(pid==-1) 

printf("ошибка создания процесса\n"); 

else if(pid==0) 

/* Cоздание четвертого процесса от родителя номер-1 */ 
printf("4. процесс с pid %d породил процесс с pid %d\n", getppid(), 
getpid()); 
pid = fork(); 
if(pid==-1) 

printf("ошибка создания процесса\n"); 

else if(pid==0) 

/* Cоздание шестого процесса от родителя номер-3 */ 
printf("6. процесс с pid %d породил процесс с pid %d\n", 
getppid(), getpid()); 
pid = fork(); 
if(pid==-1) 

printf("ошибка создания процесса\n"); 

else if(pid==0) 

 /* Cоздание седьмого процесса от родителя номер-5 */ 
printf("7. процесс с pid %d породил процесс с pid 
%d\n", getppid(), getpid()); 
printf("процесс с pid %d завершает работу. pid 
родителя %d\n", getpid(), getppid()); 
exit(0); 

else // продолжение процесса 6 

sleep(2); 
printf("процесс с pid %d завершает работу. pid 
родителя %d\n", getpid(), getppid()); 


exit(0); 


else // продолжение процесса 4 

sleep(2); 
printf("процесс с pid %d завершает работу. pid родителя 
%d\n", getpid(), getppid());
exit(0); 


else // продолжение процесса 2 

sleep(3); 
printf("процесс с pid %d завершает работу. pid родителя %d\n", 
getpid(), getppid()); 
exit(0); 



else // продолжение процесса 1 /* этот процесс производит изменение

Download 1.41 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling