Вернуть значение системных лимитированных характеристик
#include <unistd.h>
#include <limits.h>
long sysconf( int name );
- name
- Имя системного лимита для запроса.
libc
Функция sysconf() возвращает значение конфигурирвемого системного лимита, определяемого аргументом name.
Имена лимитов определены в <confname.h>
и включают:
- _SC_AIO_PRIO_DELTA_MAX
- Максимальная величина, на которую процесс может уменьшить свой приоритет асинхронного ввода-вывода по сравнению с собственным приоритетом планирования.
- _SC_ARG_MAX
- Максимальная длина в байтах аргументов функций семейства exec*(), включая данные окружения.
- _SC_CHILD_MAX
- Максимальное число одновременно работающих процессов на каждый реальный идентификатор пользователя (real UID).
- _SC_CLK_TCK
- Число тиков в секунду, используемое для выражения значения в типе clock_t.
- _SC_DELAYTIMER_MAX
- Максимальное число переполнений системного таймера, которое может быть выдержано без невозможности его определить.
- _SC_GETGR_R_SIZE_MAX
- Если определено (не равно
-1
), характеризует максимальный размер буфера, который нужно предоставить в getgrgid_r() для любой памяти, которую нужно выделить. - _SC_GETPW_R_SIZE_MAX
- Если определено (не равно
-1
), характеризует максимальный размер буфера, который нужно предоставить в getpwent_r(), getpwuid_r(), getspent_r() или getspnam_r() для любой памяти, которую нужно выделить. - _SC_JOB_CONTROL
- Если переменная определена, то контроль заданий поддерживается.
- _SC_NGROUPS_MAX
- Максимальное число доступных дополнительных идентификаторов групп пользователей (GIDs) на процесс.
- _SC_OPEN_MAX
- Максимальное число открытых в единицу времени файлов в процессе.
- _SC_PAGESIZE
- _SC_PAGE_SIZE
- Размер системной страницы памяти в байтах.
- _SC_SAVED_IDS
- Если переменная определена, то каждый процесс имеет сохраненный идентификатор пользователя (UID) и сохраненный идентификатор группы (GID).
- _SC_SEM_NSEMS_MAX
- Максимальное число семафоров в процессе. Функция sysconf() возвращает
-1
для демонстрации того, что это значение не определено, поскольку оно применяется одновременно и к именованным и неименованным семафорам. Ядро допускает произвоьное число неименованных семафоров, которые являются объектами синхронизации ядра и их число ограничивается лишь размерами оперативной памяти. - _SC_SIGQUEUE_MAX
- Максимальное число необработанных сигналов реального времени, посланных процессу. Фактически является характеристикой размера очереди сигналов.
- _SC_THREAD_STACK_MIN
- Минимальный размер стека потока.
- _SC_TZNAME_MAX
- Максимальное количество байт в названии часового пояса. Значение соответствует
TZNAME_MAX
. - _SC_VERSION
- Текущая поддерживаемая версия стандарта POSIX. Значение 198808L соответствует версии стандарта от августа (08) 1988 года, что соответствует моменту одобрения IEEE Standards Board.
Значение запрошенного конфигурирвемого системного лимита. Если name не определено, возвращается -1
.
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <unistd.h>
int main( void )
{
printf( "_SC_ARG_MAX = %ld\n", sysconf( _SC_ARG_MAX ) );
return (EXIT_SUCCESS);
}
POSIX 1003.1
- Нет
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Да
- В потоке
- Да
confstr(), errno, pathconf()
getconf в Справочнике по Утилитам
Предыдущий раздел: Описание API системной библиотеки