Anmelden Register

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Erledigt [Linux] Pythonskript als Dämon ausführen lassen.
#1
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
#2
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.
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety." (Benjamin Franklin)
#3
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.
#4
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
Wenn man keine Ahnung hat, einfach mal Fresse halten!
#5
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...ftd.sh#L24




Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste