Liste der Laufenden Prozesse auf 64-bit-Windows
Ich amm schreiben Sie eine kleine python-Skript greifen, werden Informationen von VMs von Windows, die ich laufen werde.
Im moment kann ich die Liste der Prozesse auf einem 32bit-XP-Rechner mit der folgenden Methode:
http://code.activestate.com/recipes/305279/
Ist es möglich, irgendwie erkennen Sie die version von windows ausgeführt wird und excute eine andere Methode für das erhalten der Prozesse auf einem 64-bit-Maschine, ich werde versuchen, die Prozesse, die von einem 64-bit-Vista und 64-bit Windows 7.
Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein anderes Rezept auf activestate, das eine ähnliche Sache, aber nutzt die Performance Data Helper library (PDH) statt.
Habe ich getestet, auf meinem Windows 7 64bit Rechner und es funktioniert - so sind vermutlich die gleiche Funktion funktioniert auf beiden 32-bit und 64-bit-windows.
Finden Sie das Rezept hier: http://code.activestate.com/recipes/303339/
Eine andere Methode ist die Verwendung von WMI, es gibt hier ein Beispiel in Python mit dem wmi Modul:
http://timgolden.me.uk/python/wmi/cookbook.html
Wenn Sie nicht wollen, zu setzen, alle extra installierten Module können Sie dann analysieren Sie die Ausgabe von wmic, z.B.:
Referenz: http://geekpedia.wordpress.com/2008/08/18/use-command-line-to-track-windows-processes/
Für ähnliche Zwecke benutzt habe ich psutil Bibliothek. Einige Hinweise:
psutil.pids()
(Referenz)process = psutil.Process(pid)
(Referenz)process.kill
oderprocess.terminate()
Installation auf windows -
pip
werden tun, die installation von der Quelle (was bedeutet kompilieren), so dass Sie wahrscheinlich wollen, um download-binary installation von https://pypi.python.org/pypi/psutil/#downloads.Der sauberste Weg, die ich gefunden, um dieses Problem zu lösen, wurde die Verwendung der psutil Bibliothek als empfohlen von Robert Lujo:
Beachten Sie, dass es gibt ein generator-Objekt, die Ausstellung eines Prozess-Objekts zu einem Zeitpunkt. Zum Beispiel, wenn Sie die Liste der Prozess-Namen, die Sie tun können, so etwas wie:
Sollten Sie in der Lage, dies zu tun, indem Sie Windows Management Instrumentation innerhalb jeder VM. Dieses tool gibt Ihnen Zugriff auf eine Reihe von system-Daten, einschließlich der Prozesse, siehe http://technet.microsoft.com/en-us/library/cc757287%28WS.10%29.aspx
Sollten Sie in der Lage sein, um
popen
einer der Befehle in den vorstehenden link, um die Informationen, die Sie suchen.