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);
}