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



Pdf көрінісі
бет87/220
Дата25.02.2022
өлшемі2,22 Mb.
#26438
түріОқулық
1   ...   83   84   85   86   87   88   89   90   ...   220
83
 
 
 
-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
 
Аталық-процес  топ  жасағаннан  кейін  оның  аяқталуын  wait() 
атқарымы көмегімен күтеді:
 
#include 
 
#include 
 
pid_t wait(int *status);
 
 
Бұл атқарым топ-процесінің орындалып болуын (егер олар бірнеше 
болса,  олардың  қайсысы  бірінші  аяқталатыны  маңызды)  Атқарым 
қайтаратын  мәнді  —  аяқтайтын  процестің  PID  мәнін  күтеді.    Статус 
мәнін сілтеме бойынша беретін атқарымдар топтың қайтып келу коды 
туралы ақпаратты кодтайтын санды және аяқталу сәтіндегі оның күйін 
білдіреді.  Қызықтыратын  ақпаратты  қарау 
үшін  WEXIT...0 
макроанықтауыштардың 
бірін 
пайдалану 
қажет. 
Мысалы,  
WEXISTATUS()  макроанықтауыш  статус  мәніндегі  қайтару  кодының 
номерін қайтарады. 
 
Егер  процес  бірнеше  топты  іске  қосып  нақты  бір  процестің 
аяқталуын күту қажет болса waitpid() атқарымы қолданылады:
 
#include 
 
#include 
 
pid_t waitpid(pid_t pid, int *status, int options);
 
бұл атқарымның бірінші аргументі — аяқталуын күтіп отырған PID  
процесі, екіншісі – статус  мәні. Үшінші параметр атқарымның жұмыс 
режимін анықтайды. 
 
Егер  үшінші  параметр  0  тең  болса,  ең  болмағанда  бір  топ 
аяқталмайынша процестің орындалуы тоқтайды.  
Егер  үшінші  параметр  ретінде  WNOHANG  константа  берілсе, 
статус  мәні  тек  топ  өз  орындалуын  аяқтағаннан  кейін  ғана 
меншіктеледі; ол орындалмаған жағдайда аналық процестің орындалуы 
жалғаса  береді.  Егер  WNOHANG  параметрі  шықса  және  топ  әлі 
аяқталмаса, онда waitpid() атқарымы 0 қайтарады:
 
#include 
 
#include 
 
#include 
 
void main(void)
 
{
 


 


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




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

    Басты бет