hab ein Problem, bei meinem Prog. Erstmal Situation:
Ich muß ein prog schreiben das einen Server ständig neu startet (mit veränderter Config) und beendet. An sich kein Problem, jedoch:
Der server, wird mit server.exe gestartet, jedoch ist es so, dass selbst wenn ich unter der Kommandozeile(von WINDOWS!) server.exe ausführe, dann blockiert die exe die Konsole, rufe ich den Befehl bei Python mit os.system("server.exe") auf, dann unterbricht dies die Ausführung des Skripts! Habe mir folgende Gedanken gemacht:
1. Unter Unix wäre mir das nicht passiert, dafür gibts nämlich ein Script "Start/Stop server"
2. Einen Thread schreiben, hier das Ergebnis:
Code: Alles auswählen
class ServerThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def setStartCmd(self, cmd):
self.cmd = cmd
self.vRet = None
def run(self):
self.vRet = os.system(self.cmd)
3. Eigentlich wollte ich Threading vermeiden, aber os.system("cmd /c server.exe") ruft genau das gleiche Problem hervor.
4. Im Grunde ist der server ein service und sollte auch so unter Win gestartet werden, aber als normaler Benutzer fehlen mir unter NT die Rechte, also muß ich mit der server.exe arbeiten.
Falls jemand aus meiner Beschreibung schlau geworden ist und eine Lösung hat, dann wäre ich echt dankbar.
Edit (Leonidas): Code in Python-Tags gesetzt.