uhuC
[Erledigt] [Linux] Pythonskript als Dämon ausführen lassen. - Druckversion

+- uhuC (https://uhuc.de)
+-- Forum: uhuc Classic (https://uhuc.de/forum-43.html)
+--- Forum: Hilfeforum (https://uhuc.de/forum-5.html)
+--- Thema: [Erledigt] [Linux] Pythonskript als Dämon ausführen lassen. (/thread-481.html)



[Linux] Pythonskript als Dämon ausführen lassen. - CyD - 09.05.2014

Der Shell-Befehl sieht so aus:
$ python2 wrapper.py -c /tmp/socket "java -jar minecraft_server.jar nogui"

Wie kann ich das sinnig in einen Dämon verwandeln. Dabei sollten auch so Sachen wie PID- und Log-File erstellt werden können. Das ausführen als User "minecraft" wäre auch schön^^

Welches Programm würdet ihr da eher empfehlen daemon (http://www.libslack.org/daemon/) oder start-stop-daemon? Ich bekomm das irgendwie mit beiden nicht gebacken.

Wäre es vllt hilfreicher den Wrapper so umzuschreiben, dass er alles nach zb "---" als Command wahrnimmt?
zb: python2 wrapper.py -c /tmp/socket --- java -jar minecraft_server.jar nogui


RE: [Linux] Pythonskript als Dämon ausführen lassen. - flocke - 09.05.2014

Da es sich ja vermutlich um ein von dir geschriebenes Script handelt würde ich gar kein externes Programm nutzen.
Du kannst versuchen das ganze in Python direkt in dem Script zu machen, z.B. mit https://pypi.python.org/pypi/python-daemon
Mehr kann ich leider auch nicht sagen, da ich mich mit Python nicht wirklich auskenne.


RE: [Linux] Pythonskript als Dämon ausführen lassen. - emerald - 09.05.2014

start--stop-daemon kann einfache Programme im Hintergrund ausführen, damit jedes Programm quasi daemonisieren.

Sonst das Programm forken und den Fork in den Hintergrund schieben (hint: setsid()), der dann der Daemon ist. Dabei ein .pid file zu schreiben ist kleinigkeit. Ein .log file kann auch leicht eingebaut werden.


RE: [Linux] Pythonskript als Dämon ausführen lassen. - kromonos - 09.05.2014

Daemonisieren mache ich mit diversen, von mir in Python geschriebenen, Bots auch. Ich werde die Tage mal einen Quelltext veröffentlichen, bei dem ich das mache, dann kannst du dir das mal genauer anschauen. Zumindest, wenn das Script von dir ist.
Ansonsten würde ich wohl auf die schnelle auch eher zu start-stop-daemon greifen Wink


RE: [Linux] Pythonskript als Dämon ausführen lassen. - CyD - 09.05.2014

Danke für euere Hilfe!

Ich hab das "Problem" jetzt gelöst. Der Wrapper kümmert sich jetzt um die Logs und als command wird alles interpretiert was nach dem "---" kommt, somit kann ich Fehler wegen falsch escapten Anführungszeichen streichen.

Auf jedenfall funktioniert es.

https://gitorious.org/mvst2/mvst2/source/9761a150a2fb4750d35cb4d58603cff7e6e1e4bd:src/minecraftd.sh#L24