Оқулық «Федералдық білім беруді дамыту институты»



Pdf көрінісі
бет88/220
Дата25.02.2022
өлшемі2,22 Mb.
#26438
түріОқулық
1   ...   84   85   86   87   88   89   90   91   ...   220
84 
 
 
pid_t childPID; 
pid_t retPID = 0; 
int status;
 
if ( (childPID = fork()) == 0)
 
{
 
/* Топ денесі */
 
execl("/bin/ls", "/bin/ls", "-l", 0);
 
}
 
while (!retPID) /* Аталық денесінің жалғасы */
 
{
 
retPID = waitpid(childPID, &status, WNOHANG);
 
}
 
printf("Child return code %d", WEXITSTATUS(status));
 
}
 
Бағдарлама келесі ақпаратты шығарады 
 

total 17
 
-rwxr-xr-x 1 nick users 9763 Oct 11 15:41 a.out -
rwxrwxrwx 1 nick users 986 Oct 11 15:20 fork1.c -
rwxrwxrwx 1 nick users 321 Oct 11 15:40 fork2.c 
Child return code 0 
 
 
 
ПРОЦЕСТІҢ КҮЙІ. ПРОЦЕСТІҢ ӨМІРЛІК АЙНАЛЫМЫ 
 
Процестің  жасалуы  және  аяқталуының  уақыты  арасында  процес 
операциялық  жүйеден  бірнеше  оқиғалардан  шабуыл  жасалса,  соған 
байланысты бірнеше күйге түседі. 
 
fork()  атқарымының  көмегімен  пайда  болғаннан  кейін  бірден 
процес  «құрылу»  күйінде  болады    —  процестер  кестесінде  жазба  ол 
үшін әлдеқашан бар, дегенмен процес деректерінің ішкі құрылымы әлі 
инициализацияланбаған. 
Процестің 
алғашқы 
инициализациясы 




Достарыңызбен бөлісу:
1   ...   84   85   86   87   88   89   90   91   ...   220




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет