Mam init.d
skrypt uruchamiający aplikację start-stop-daemon --chuid SOME_SYSTEM_USER
. Oznacza to, że aplikacja działa pod innym użytkownikiem, a nie rootem.
Problem w tym, że aplikacja potrzebuje specjalnych ustawień limitów (mianowicie ulimit -n 64000
), które ustawiłem limits.conf
. Działa to całkiem nieźle, gdy uruchamiam go bezpośrednio z powłoki: su - SOME_SYSTEM_USER
+ uruchom aplikację z powłoki.
Ale kiedy przejdziemy start-stop-daemon --chuid
od /etc/init.d
, limity te są ignorowane. Oczywiście aplikacja nie działa.
Jak wymusić start-stop-daemon
honorowanie ulimit
ustawień?
Debian Squeeze, 2.6.32-5-686 # 1 SMP Sob 5 maja 01:33:08 UTC 2012 i686 GNU / Linux
ulimit
ustawienie tuż przedstart-stop-daemon
poleceniem. (tj.ulimit -n 64000
) ... dla takich ignorantów jak ja.Możesz także użyć polecenia „limit” w skrypcie upstart.
W pliku /etc/init/foo.conf dodaj wiersz:
Pierwszy 64000 to limit miękki, a drugi to limit twardy.
Więcej informacji można znaleźć tutaj: http://upstart.ubuntu.com/cookbook/
źródło