Как ограничить количество процессов, которые может запустить пользователь?

10

Мы пытались /etc/security/limits.conf, но это, кажется, не имеет никакого эффекта.

Используемая строка для limit.conf выглядит следующим образом:

myuser hard nproc 6

Это конфигурация для сервера. Я хочу ограничить начатые процессы. Ulimit ограничивает процессы, запускаемые из оболочки (если я правильно понимаю). Но в моем случае apache запускает процессы mapserver, и это число должно быть ограничено.

Mnementh
источник
Какая точная строка у вас есть в limit.conf? Обновите вопрос, если сможете.
Кен Саймон
Есть аналогичный вопрос о сбое сервера: как ограничить количество одновременных процессов?
Лекенштейн
Выйдите из системы всех экземпляров myuser перед тестированием, так как ограничения устанавливаются при входе в систему. Также см. Ss64.com/bash/limits.conf.html
karthick87
2
/etc/security/limits.confэто файл конфигурации для модуля PAM pam_limits, но Apache не порождает процессы через PAM, поэтому он не будет иметь никакого эффекта.
Кис Кук

Ответы:

1

Это не идеальное решение, поскольку оно может помешать обновлению Apache, но оно должно работать.

Отредактируйте /etc/init.d/apache2, в верхней части скрипта (новая строка после #! / Bin / sh) добавьте необходимый ulimit, например:

ulimit -u 1024
Жоау Пинту
источник