[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Получение и установка ограничений для пользователя

Системный вызов ulimit(2) используется, чтобы получить ограничение на
размер файла, выраженное в блоках по 512 байтов, или установить это
ограничение. Это значение ограничивает размер обычного файла. Этот
системный вызов используется также для получения максимально
допустимого значения границы выделяемой памяти (см. brk(2) и sbrk(2))
и текущего значения максимального числа открытых файлов в процессе,
установленное в системе.
Максимальный размер файла является частью среды исполнения программы.
Shell использует ulimit(2) при исполнении встроенного оператора
ulimit.
Значение, возвращаемое вызовом ulimit(2), и newlimit измеряется в
блоках по 512 байтов, независимо от размера блока файловой системы.
Аргумент cmd может принять значение одной из следующих символьных
констант:
   UL_GETFSIZE Возвращает  текущее   ограничение  процесса  на  размер
               файла.

   UL_SETFSIZE Устанавливает  ограничение   на  размер  файла.  Только
               суперпользователь  может   увеличить  это  ограничение.
               Остальные  могут   только  уменьшить  его.  Может  быть
               полезно ограничить  размер файла при отладке программы,
               которая создает и пишет в файлы.

   UL_GMEMLIM  Возвращает  максимально   допустимое  значение  границы
               выделяемой памяти.  Это значение можно использовать при
               проверке того, что программа пытается получить память с
               помощью brk(2) или sbrk(2) больше, чем допустимо.

   UL_GDESLIM  Возвращает ограничение,  устанавливаемое программно при
               конфигурации системы,  на число файлов, которые процесс
               может открыть.

newlimit используется при cmd равном UL_SETFSIZE. Это новый размер
файла в блоках.
          ПОЛУЧЕНИЕ И УСТАНОВКА ОГРАНИЧЕНИЙ ДЛЯ ПОЛЬЗОВАТЕЛЯ
ulimit(2)

ИМЯ

      ulimit - получение и установка ограничений для пользователя

ИСПОЛЬЗОВАНИЕ

      #include <ulimit.h>

      long ulimit (int cmd,.../* newlimit */);

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

      успех - неотрицательное число

      неуспех - -1 и errno установлена