Щонайменше, у Linux більшість дистрибутивів, як видається, використовують пам для автентифікації. Один модуль, який постачається з пам’яткою, є модулем обмежень . Цитування з програми README для пам_лімітів:
The pam_limits PAM module sets limits on the system resources that can be obtained in a user-session. Users of uid=0 are affected by this limits, too.
Як результат, ви можете встановити обмеження для кожного користувача, групи та групи за замовчуванням в обох категоріях жорстких (root встановлює це і процес не може вимагати більш високих) та м'яких обмеженнях. Зазвичай м'які межі встановлюються нижчими від жорстких, і додаток може збільшувати їх вгору, поки не досягнуть жорсткої межі.
У вашому випадку, якщо процес, який ви хочете збільшити ліміти запуску, як звичайний користувач, ви можете збільшити ліміти для цього користувача або групи. Як приклад, у мене на деяких серверах є завдання mysql cron, на яких потрібно відкрити додаткові ручки файлів, тому я встановив це:
$ cat /etc/security/limits.d/mysql.conf
@mysql soft nofile 100000
@mysql hard nofile 200000
Немає нічого, що потрібно перезапустити; коли ви відповідаєте за цього користувача, ви можете відразу побачити, що нові обмеження набувають чинності.
Інша річ, яку ви можете зробити, якщо ви працюєте в типовій системі, отриманій RedHat, вводить нескінченний виклик, який ви хочете, в сценарій / etc / sysconfig / $ SERVICE. Як приклад, сценарій init імені apache названий /etc/init.d/httpd, і він джерело файлу конфігурації / etc / sysconfig / httpd, якщо його знайдено. Мені було легше керувати, роблячи це замість редагування самого сценарію init, тому що скрипти init оновлюються при оновленні rpm, але файли sysconfig оновлюються лише у тому випадку, якщо вони не змінені за замовчуванням.