Назад | Перейти на главную страницу

Как установить ulimit (fd) при форке процесса?

Как обычно /etc/security/limits.h работает только при входе в оболочку.

Как насчет того, чтобы выполнить форк процесса в Linux, где значение Max open files из /proc/PID/limits контролируется?

Насколько я понимаю, такие настройки в дочерней вилке наследуются от родительской. Кроме того, вы можете установить информацию об ограничениях в своем процессе с помощью системных вызовов getrlimit (), setrlimit ().

Файл /etc/security/limits.conf используется pam_limits.

Команда ulimit это встроенная команда оболочки, которая может изменять мягкие и жесткие ограничения в пределах пределы устанавливается указанным файлом конфигурации PAM (если вы не являетесь пользователем root).

Вы можете применить эти ограничения для сеансов входа в систему, ssh и т. Д. Затем PAM применяет ограничения на процессы (и разветвленные процессы), запущенные в этом сеансе. Они передаются по наследству.

Форк унаследует среду от родителя, который ее разветвил ... если у него есть ограничение на fd, его следует применить.