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



Pdf көрінісі
бет86/220
Дата25.02.2022
өлшемі2,22 Mb.
#26438
түріОқулық
1   ...   82   83   84   85   86   87   88   89   ...   220
Байланысты:
қазақша кітап

82 
 
 
SYMLOOP_MAX 
санынан  асып  түскені  белгілі  болды.  Бұл 
параметрлердің  мәндерін  getconf  -a  команданы  көмегімен  анықтауға 
болады. 
 
2. Атқарым  шақырылатын  файл  орындалмайтын  болып  саналады, 
қарапайым файл емес немесе ондай файл мүлдем жоқ.
 
3. Іске  қосылып  жатқан  процеске  берілетін  параметрлер  тізімі  өте 
ұзақ.
 
Параметрлердің  максимал  рұқсат  етілген  саны  максимал  рұқсат 
етілген  командалық  жолақ  ұзақтығы  негізінде  анықталады.    POSIX  
стандартына сай бұл мән 4 096 аз болмау керек. Нақты жүйелерде бұл 
мән бірнеше есе үлкен. Жүйе үшін бұл шектеуді анықтау үшін getconf 
ARG_MAX    команданы  қолдануға  болады.  Параметр  ARG_MAX 
командалық  жолақта  рұқсат  етілген  символдардың максимал  санынан 
тұрады.  Шынында  орындалатын  команданың  максимал  ұзындығына 
қосымша  шектеулер  қойылады.  POSIX  стандартына  сай  орындалу 
үстіндегі команданың максимал рұқсат етілген ұзақтығын expr 'getconf 
ARG_MAX'  -  'env|wc  -c'  -  2048  команданың  көмегімен  есептеп 
шығаруға болады. Оған қоса жүйе бір параметр ұзындығына да шектеу 
қояды.  Төменде  келтірілген  мысалды  аталық-процес  жаңа  процесті 
туындатады,  ол    параметрі  -1  бағдарламасын  /bin/ls  іске  қосады.  Топ-
процесінің  кодын  толықтай  ауыстыру  жүріп  жатқандықтан  _exit()т 
атқарымын шақыру міндетті емес: 
 
#include 
 
#include 
 
#include 
 
int main(void)
 
{
 
pid_t pid; int status; if (fork() == 0)
 
{
 
/* топтың денесі */ execl("/bin/ls", "/bin/ls", "-l", 
0); 
}
 
/* аналық дененің жалғасы */ wait(&status);
 
printf("Child return code %d\n",
 
WEXITSTATUS(status));
 
return 0;
 
}
 
Бағдарлама келесіні шығарады:  
 
total 17
 




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




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

    Басты бет