gibt es eine Möglichkeit zum starten/stoppen der linux-Prozesse mit python?
Ich möchte in der Lage sein, einen Prozess zu starten und dann in der Lage sein, um es zu töten danach
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich möchte in der Lage sein, einen Prozess zu starten und dann in der Lage sein, um es zu töten danach
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Blick auf die
subprocess
Modul.Sie können auch low-level-primitiven wie
fork()
über dieos
Modul.Hier ein kleines python-Skript, das einen Prozess startet, wird überprüft, ob es ausgeführt wird, wartet eine Weile, tötet es, wartet, bis es zu beenden, dann prüft erneut. Es verwendet der "kill" - Befehl. Version 2.6 von python-subprocess hat eine kill-Funktion. Dies wurde geschrieben von am 2.5.
Die zeitgesteuerte Ausgabe zeigt, dass es beendet wurde, nach etwa 3 Sekunden, und nicht 60, wie der Aufruf von sleep schlägt.
os.kill(..)
zu töten den Prozessproc.terminate()
oderproc.kill()
seit python 2.6http://docs.python.org/library/os.html#process-management
Einer einfachen Funktion, die verwendet subprocess-Modul:
docs für primitive fork() und Module Teilprozess, multiprocessing, multithreading
Wenn Sie brauchen, um die Interaktion mit der sub-Prozess überhaupt ist, empfehle ich das Modul pexpect (link-text). Senden Sie Eingabe, um den Prozess, erhalten (oder "erwarten") Ausgang zurück, und schließen Sie den Prozess (mit force=True senden, SIGKILL).