Laufende Prozesse und deren PID´s ausgeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Exitus
User
Beiträge: 3
Registriert: Montag 15. Januar 2007, 12:52

HI, ich bin leider neu hier mit python und habe mich
heute bisher den tag durch ein pyhton-refernz-script gearbeitet um eine antwort auf meine frage zu erhalten. Leider ohne erfolg

Gibt es einen Befehl mit dem mir alle laufenden Prozesse ausgebenen werden? Mit name und PID

-> Windows siehe Taksmanager
-> Linux-bashprogrammierung der befehl ps -W

Vielen Dank
ciaoi

Exitus
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Für die Linux Ausgabe könntest du folgendes verwenden:

Code: Alles auswählen

import os
os.system("ps -W")
Ob so etwas unter Windows möglich ist, weiss ich leider nicht
Exitus
User
Beiträge: 3
Registriert: Montag 15. Januar 2007, 12:52

*gG* okay

nur leider intessiert mich gerade in Windows :wink:
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Exitus hat geschrieben:Gibt es einen Befehl mit dem mir alle laufenden Prozesse ausgebenen werden? Mit name und PID
Hi Exitus!

Willkommen im Python-Forum!

PIDs: http://www.python-forum.de/topic-8277.html

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

C:\WINDOWS\system32\tasklist.exe

und

C:\WINDOWS\system32\taskkill.exe

können helfen


EDIT...
ich sollte ab und zu mal refreshen bevor ich antworte :-D
Exitus
User
Beiträge: 3
Registriert: Montag 15. Januar 2007, 12:52

Hi Sr4l,


hey das ist ja schon mal klasse, jetzt ist nur die frage, wie kann ich das was mir tasklist.exe ausgibt in eine Variable speichern...

Ich habe jetzt die idee von pr0stAta verwendet und mit deiner kombiniert.

Code: Alles auswählen

import os
string = os.system("tasklist.exe")
Aber leider scheint mir der system aufruf dann nur eine NULL für success zurückzugeben, doch wie komme ich nun an den inhalt der ausgebenen tasks ran?

Vielleicht würde irgendwie eine ausgabe umlenkung helfen??
Grüße

Exitus
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi,

hast Du Dir gerold Link mal angeschaut? Da gibt es eine fertige Lösung. Außerdem wird Dir das os-Modul an dieser Stelle weiterhelfen. Das Meiste ist für Unix(-Derivate), aber dennoch wirst Du fündig werden.

os.system liefert keine Rückgabewerte. Das leistet hier os.popen*, bzw. das neuere Modul subprocess.

HTH
Christian
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

popen (Achtung da gibt es mehrere; man sollte viel lesen ums zu verstehen) kann man (Windows-)Befehle ausführen und man bekommt den Rückgabe wert denn man dann bearbeiten kann wie man will.

Gerolds Code ist (zwar etwas länger ^^) aber dort kommt alles zum Einsatz was du brauchst.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sr4l hat geschrieben:popen (Achtung da gibt es mehrere; man sollte viel lesen ums zu verstehen) kann man (Windows-)Befehle ausführen und man bekommt den Rückgabe wert denn man dann bearbeiten kann wie man will.
Erstens bekommt man dort nicht (nur) den Rückgabewert sondern hauptsächlich stdin, strout und strerr und zweitens wurde das alles schön ins subprocess-Modul integriert das einem mit einer hübschen API all dies Funktionalität von popen* bietet.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Ach Leonidas ;-) man muss nicht alles SO genau nehmen :-D
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sr4l hat geschrieben:Ach Leonidas ;-) man muss nicht alles SO genau nehmen :-D
Nein - aber warum sich das Leben schwermachen und später sowieso auf subprocess umsteigen, wenns doch jetzt auch schon geht?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten