Monitor-Prozess in Python?
Ich denke, das ist eine ziemlich grundlegende Frage, aber hier ist es sowieso.
Muss ich schreiben, ein python-Skript, das überprüft, um sicherzustellen, dass ein Prozess, sagen notepad.exe, ausgeführt wird. Wenn der Prozess ausgeführt wird, nichts zu tun. Wenn es nicht ist, starten Sie es. Wie würde das gemacht werden.
Ich bin mit Python 2.6 unter Windows XP
Ich glaube nicht, dass es notwendig zu erwähnen, "schwarz"...
Ok, behoben, der. Haben Sie eine Lösung für das problem?
Ok, behoben, der. Haben Sie eine Lösung für das problem?
InformationsquelleAutor Zac Brown | 2010-07-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein paar Optionen,
1: die mehr grob, aber offensichtlich wäre zu tun, einige text-Verarbeitung gegen:
2: Eine mehr involviert Möglichkeit wäre die Verwendung von pywin32 und Forschung die win32-APIs, um herauszufinden, welche Prozesse ausgeführt werden.
3: WMI (ich fand diese gerade jetzt), und hier ist ein vbscript Beispiel, wie eine Abfrage der Maschine für Prozesse, die über WMI.
Sie brauchen nicht einmal einen regex. Eine einfache
if substring in string:
-type-Anweisung funktioniert Prima. (Oder vielmehrnot in
, da soll es führen, wenn der Prozess nicht aktiv ist.)Das ist genau das was ich brauchte! Dank so viel!
Ich habe diese: import os Prozess = os.popen("tasklist").read (), wenn Sie "notepad" in Arbeit: print "Prozess Läuft" else: print "Prozess Beendet" Es funktioniert perfekt! Nochmals vielen Dank für jedermanns Hilfe!
Ich möchte darauf hinweisen, riskieren Sie eine relativ unwahrscheinlich false positiv, wenn ein anderer Prozess hat die Teilzeichenfolge "notepad.exe" im eigenen Namen, aber Sie werden feststellen, dass jeder Prozess ist das erste, was auf seiner Linie, so kann es ausreichen, suchen Sie nach "\nnotepad.exe" zu gehören, die neue Linie.
InformationsquelleAutor andyortlieb
Den Prozess und die Schaffung von Funktionen der
os
Modul sind anscheinend veraltet in Python 2.6 und höher, mit dersubprocess
- Modul ist das Modul der Wahl, jetzt, so...Beachten Sie, dass in Python 3, die Zeichenfolge überprüft werden müssen, um ein bytes-Objekt, so würde es
(Der name der Datei/Prozess starten nicht brauchen, um ein bytes-Objekt.)
InformationsquelleAutor JAB
Python-Bibliothek für Linux-Prozess-management
InformationsquelleAutor Giampaolo Rodolà