2016-04-13 14 views
0

Gibt es einen Prozessnamen (PID ist nicht bekannt), wie kann ich erkennen, wenn ein Prozess beendet wurde (Wie kann ich die PID bei einem Prozessnamen herausfinden)? Ich mache das auch für den Windows Explorer, also wie würde ich den Prozessnamen verfolgen, während er sich ändert, während sich der Benutzer durch die Verzeichnisse bewegt.PYTHON Wie erkenne ich, wenn ein Prozess beendet wurde?

Ich benutze Python 2.7 und Windows, wenn das hilft.

Danke

Antwort

1

Als Padraic Cunningham schrieb hier: Python: How to get PID by process name? Um pid zu erhalten von Prozess-Name:

from subprocess import check_output 
def get_pid(name): 
    return int(check_output(["pidof","-s",name])) 

Wie Mat hier schrieb: https://stackoverflow.com/a/6767792/5088142 Um Status eines zu bekommen Prozess, der seine pid verwendet, kann psutil verwenden https://github.com/giampaolo/psutil

import psutil 
print psutil.Process(pid).status 

Edit: Sie können diese beiden Teile in den folgenden Code kombinieren:

from subprocess import check_output 
import psutil 
def get_pid(name): 
    return int(check_output(["pidof","-s",name])) 
def get_status(name) 
    pid = get_pid(name) 
    print psutil.Process(pid).status 
+0

Vielen Dank für das, aber eine andere Frage, wie würde ich in der Lage sein, ständig auf sie zu prüfen (ich bin leider im ganz neu, aber ich erkennen Sie, dass das Überprüfen auf ein Update in einer Umgebung wichtig ist in der Programmierung) danke noch einmal :) –

+0

Ich habe eine neue Funktion hinzugefügt, die die beiden Teile des Codes kombiniert. Sie können die Funktion get_status ("process_name") aufrufen und den Prozessstatus abrufen. (beachte, dass du psutil installieren musst) – Yaron

+0

thx, aber würdest du zufällig einen Weg finden, dies ständig in meinem Code zu überprüfen, oder ist das nicht möglich? danke sowieso :) –

Verwandte Themen