Ich habe ein init.d
Skript, mit dem eine App gestartet wird start-stop-daemon --chuid SOME_SYSTEM_USER
. Das heißt, die App wird unter einem anderen Benutzer und nicht unter root ausgeführt.
Problem ist, die App benötigt spezielle Limit-Einstellungen (nämlich ulimit -n 64000
), die ich eingestellt habe limits.conf
. Das funktioniert ganz gut, wenn ich es direkt von der Shell aus starte: su - SOME_SYSTEM_USER
+ starte die App von der Shell aus.
Beim Durchlaufen start-stop-daemon --chuid
von /etc/init.d
werden diese Grenzwerte jedoch ignoriert. Dann funktioniert die App offensichtlich nicht.
Wie erzwinge ich start-stop-daemon
das Einhalten der ulimit
Einstellungen?
Debian Squeeze, 2.6.32-5-686 # 1 SMP Sa 5. Mai 01:33:08 UTC 2012 i686 GNU / Linux
ulimit
Einstellung direkt vor demstart-stop-daemon
Befehl hinzu. (dhulimit -n 64000
) ... für die Unwissenden wie ich.Sie können auch den Befehl 'limit' im Upstart-Skript verwenden.
Fügen Sie in der Datei /etc/init/foo.conf die folgende Zeile hinzu:
Die erste 64000 ist die weiche Grenze, und die zweite ist die harte Grenze.
Weitere Informationen finden Sie hier: http://upstart.ubuntu.com/cookbook/
quelle