Синопсис

# include < unistd.h >

long sysconf (int name);

Ще одним обмеженням при використанні функцій сімейства exec та інших функцій, які застосовуються для створення процесів, є максимальна кількість процесів, що виконуються одночасно, яке доступне для одного користувача. Щоб функція sysconf () повернула дане число, її параметру name необхідно передати значення _SC_CHILD_MAX.

2.6. Читання та встановлення змінних середовища

Змінні середовища, це стрічки з нульовими символами в кінці, в яких зберігається наступна системна інформація: шляхи до каталогів, які містять ко­манди, бібліотеки, функції і процедури які використовує процес. Їх можна та­кож використовувати для передачі довільних визначених користувачем даних між батьківським і дочірнім процесами. Вони забезпечують механізм надання процесу спеціальної інформації без необхідності жорсткої її сполучення з ко­дом програми. Змінні середовища визначені системою і спільно використову­ю­ться всіма її оболонками та процесами. Ці змінні ініціюються файлами запуску. Частіше всього використовуються наступні системні змінні.

$HOME Повне складене ім'я користувача
$PATH Список каталогів для файлів, що виконуються при виконанні команд
$MAIL Повне складене ім'я поштового ящика користувача
$USER Ідентифікатор (id) користувача
$SHELL Повне складене ім'я командної оболонки зареєстрованого користувача
$TERM Тип терміналу користувача

Змінні середовища можуть зберігатися у файлі або у списку, які нале­жа­ть середовищу. Даний список середовища містить вказівники на стрічки з ну­льо­вими символами в кінці. Коли процес починає виконання, змінна

extern char **environ

буде вказувати на список середовища. Стрічки які складають список середо­ви­ща, мають наступний формат:

name = value

Процеси ініційовані за допомогою функцій execl (),execlp (),execv () і execvp (), успадковують конфігурацію середовища батьківського процесу. Про­цеси, ініційовані за допомогою функцій execve () і execle (), самі встановлюють середовище.

Існують функції та утиліти, які дозволяють опитати, добавити або моди­фікувати змінні середовища. Функція getevn ()використовується для визначення факту встановлення заданої змінної. Змінна, яка вас цікавить задається за допо­могою параметру name. Якщо задана змінна не встановлена, функція повертає значення NULL. В інакшому випадку (якщо змінна встановлена), функція пове­ртає вказівник на стрічку, яка містить її значення.