Prozessinformationen aus der tasklist.exe, Alternativen?

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.
Nergal
User
Beiträge: 72
Registriert: Montag 6. Oktober 2008, 14:02

Prozessinformationen aus der tasklist.exe, Alternativen?

Beitragvon Nergal » Dienstag 4. November 2008, 10:55

Hallo,

ich möchte Informationen über die einzelnen Prozesse aus der tasklist.exe abgreifen um zu schauen ob Prozess xy noch "lebt".

Durch
tasklist /FI "PID eq .... /FO CSV"

hole ich mir die Prozesspalte und parse sie dann.

Nur stellt sich mir eine Frage:
"Ist tasklist auf allen Betriebssystemen vorinstalliert oder gibt es dort Einschränkungen?"

Soweit ich das verfolgen konnte, hat 2K das Programm tlist.exe. Wobei ich nicht weiß, ob das einen ähnlichen Output erzeugt und zu Vista konnte ich noch nichts finden.

Gibt es evtl. eine andere Möglichkeit mit annähernd 100%iger Sicherheit an Prozessinformationen zu kommen?


Gruß
Nergal
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Dienstag 4. November 2008, 11:27

Dieser Thread sollte Dir reichlich Infos dazu liefern. Wenn es nur um Windows geht, sollte v.a. das hier interessant sein. tasklist.exe befindet sich z.B. nicht auf meinem Windows XP Home.
MfG
HWK
Nergal
User
Beiträge: 72
Registriert: Montag 6. Oktober 2008, 14:02

Beitragvon Nergal » Dienstag 4. November 2008, 11:36

Danke,

hab den Thread scheinbar übersehen.
Wobei er die Frage zu der tasklist.exe auch nicht wirklich beantwortet.

Gruß
Nergal
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Prozessinformationen aus der tasklist.exe, Alternativen?

Beitragvon Leonidas » Dienstag 4. November 2008, 11:48

Nergal hat geschrieben:Gibt es evtl. eine andere Möglichkeit mit annähernd 100%iger Sicherheit an Prozessinformationen zu kommen?

API-Zugriffe über pywin32/ctypes.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Nergal
User
Beiträge: 72
Registriert: Montag 6. Oktober 2008, 14:02

Beitragvon Nergal » Dienstag 4. November 2008, 11:50

Danke,

weißt du ob ctypes mit allen gängigen Windows Betriebssystemen funktioniert?
Habe es im Moment nur unter Windows XP getestet.
In dem Tutorial steht nur etwas von XP/2K und NT, mich würde vor allem Vista interessieren.

Gruß
Nergal
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Dienstag 4. November 2008, 12:00

Probier das doch einfach mal auf Vista aus.
MfG
HWK
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 4. November 2008, 12:06

Nergal hat geschrieben:In dem Tutorial steht nur etwas von XP/2K und NT, mich würde vor allem Vista interessieren.

Warum sollte es nicht? Schließlich ist es auch nur ein NT mit noch bunterer Oberfläche.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Nergal
User
Beiträge: 72
Registriert: Montag 6. Oktober 2008, 14:02

Beitragvon Nergal » Dienstag 4. November 2008, 13:24

Dann werd ich das mal für meine Bedürfnisse umbauen.
Danke für die schnelle Hilfe.
Nergal
User
Beiträge: 72
Registriert: Montag 6. Oktober 2008, 14:02

Beitragvon Nergal » Mittwoch 5. November 2008, 10:45

HWK hat geschrieben:Probier das doch einfach mal auf Vista aus.
MfG
HWK


Mußte gerade feststellen, daß einige Prozesse nicht gefunden werden:

- csrss.exe
- dspsvcn.exe
- scardsvr.exe
- svchost.ese (mehrmals)

Weiß jemand woran das liegen kann?
lunar

Beitragvon lunar » Mittwoch 5. November 2008, 13:23

Vielleicht listet tasklist.exe ähnlich "ps" nur Prozesse des aktuellen Nutzers auf, wenn man ihm nicht explizit etwas anderes sagt.

Btw, schau dir mal enumprocess an.
Zuletzt geändert von lunar am Mittwoch 5. November 2008, 13:27, insgesamt 1-mal geändert.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Mittwoch 5. November 2008, 13:26

Ich kann Deine Feststellung bestätigen. Warum das so ist, weiß ich nicht. Ich habe aber noch eine Möglichkeit gefunden, die PID und viele andere Prozess-Informationen mit WMI herauszufinden. Da WMI auf allen Windows-Varianten verfügbar ist (ab ME sogar vorinstalliert), ist dieses Verfahren wohl auch das sicherere.

Code: Alles auswählen

import win32com.client
strComputer = '.'
objWMIService = win32com.client.Dispatch('WbemScripting.SWbemLocator')
objSWbemServices = objWMIService.ConnectServer(strComputer, 'root\cimv2')
colItems = objSWbemServices.ExecQuery('SELECT * FROM Win32_Process')
for objItem in colItems:
    print objItem.Caption, objItem.ProcessId,
    if objItem.CommandLine is None:
        print '*'
    else:
        print
Auffällig ist, dass die im ersten Script nicht dargestellten Prozesse wie csrss etc. keine Commandline haben (siehe *).
MfG
HWK
lunar

Beitragvon lunar » Mittwoch 5. November 2008, 13:29

Diese Prozesse sind afaik Dienste, die werden von Windows anders behandelt als normale Prozesse.

Btw, bist du sicher, dass WMI auf jedem System verfügbar ist. Ich meine mich zu erinnern, dass ich vor ein paar Jahren mal Probleme mit der Verfügbarkeit von WMI-Objekten auf XP Home hatte.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Mittwoch 5. November 2008, 13:41

lunar hat geschrieben:Btw, bist du sicher, dass WMI auf jedem System verfügbar ist. Ich meine mich zu erinnern, dass ich vor ein paar Jahren mal Probleme mit der Verfügbarkeit von WMI-Objekten auf XP Home hatte.
Ja, ich bin sicher. Ich arbeite übrigens selbst unter XP Home.
lunar hat geschrieben:Diese Prozesse sind afaik Dienste, die werden von Windows anders behandelt als normale Prozesse.
Welche Prozesse meinst Du? Die mit WMI bestimmten? Das sind nicht nur Dienste. Z.B. tauchen hier auch pythonw.exe und SciTE.exe auf. Zumal diese Liste bei mir haargenau mit der Ausgabe von pslist übereinstimmt. Mit tasklist kann ich es leider nicht vergleichen, da es bei XP Home nicht dazugehört.
MfG
HWK
lunar

Beitragvon lunar » Mittwoch 5. November 2008, 13:43

HWK hat geschrieben:
lunar hat geschrieben:Btw, bist du sicher, dass WMI auf jedem System verfügbar ist. Ich meine mich zu erinnern, dass ich vor ein paar Jahren mal Probleme mit der Verfügbarkeit von WMI-Objekten auf XP Home hatte.
Ja, ich bin sicher. Ich arbeite übrigens selbst unter XP Home.

Ok.

lunar hat geschrieben:Diese Prozesse sind afaik Dienste, die werden von Windows anders behandelt als normale Prozesse.
Welche Prozesse meinst Du?

Die Prozesse ohne Kommandozeile bzw. die, die im anderen Skript nicht gefunden wurden.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Mittwoch 5. November 2008, 13:58

Wirklich? csrss wird hier z.B. als Laufzeitprozess beschrieben. Das scheint mir also kein Dienst zu sein. Und warum tauchen dann die vielen anderen Dienste in der zweiten Liste nicht auf?
MfG
HWK

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder