У меня есть init.d
скрипт, который запускает приложение с помощью start-stop-daemon --chuid SOME_SYSTEM_USER
. То есть приложение работает под другим пользователем, а не под пользователем root.
Проблема в том, что приложению нужны специальные настройки лимита (а именно ulimit -n 64000
), которые я установил limits.conf
. Это прекрасно работает, когда я запускаю его прямо из оболочки: su - SOME_SYSTEM_USER
+ запускаю приложение из оболочки.
Но при запуске start-stop-daemon --chuid
из /etc/init.d
, эти ограничения игнорируются. Тогда приложение не работает, очевидно.
Как мне заставить start-stop-daemon
соблюдать ulimit
настройки?
Debian Squeeze, 2.6.32-5-686 # 1 SMP Sat 5 мая 01:33:08 UTC 2012 i686 GNU / Linux
ulimit
настройку прямо передstart-stop-daemon
командой. (то естьulimit -n 64000
) ... для невежественных, как я.Вы также можете использовать команду limit в сценарии upstart.
В файле /etc/init/foo.conf добавьте строку:
Первый 64000 - это мягкий предел, а второй - жесткий предел.
Вы можете найти больше информации здесь: http://upstart.ubuntu.com/cookbook/
источник