Holen Sie sich die Echtzeit eines Windows-Prozesses mit der Befehlszeile

Holen Sie sich die Echtzeit eines Windows-Prozesses mit der Befehlszeile

Ist es möglich, eine Betriebszeit von einem Windows-Prozess abzurufen, die nicht auf den Uhreinstellungen des Systems basiert?

Eine Linux-basierte Lösung sieht etwa so aus:

ps -eo comm,etime

Ich habe einige Dinge unter Windows ausprobiert, aber nicht das gefunden, was ich erwartet hatte. Zum Beispiel mit:

New-TimeSpan -Start (get-process explorer).StartTime

in PowerShell habe ich Folgendes erhalten:

https://i.stack.imgur.com/uNF7y.png

Mein Problem besteht darin, dass die Zeit auf einem Erstellungsdatum basiert. Wenn also die Uhreinstellungen aus irgendeinem Grund geändert werden, ändert sich das Ergebnis folgendermaßen:

https://i.stack.imgur.com/cIR9W.png

(Mir gefällt übrigens die negative Betriebszeit)

Ich habe mir auch wmic angesehen und das Problem ist das gleiche:

WMIC PROCESS GET NAME, CREATIONDATE

Gibt es ein Feld oder eine Option, um Echtzeitinformationen wie etime abzurufen?

Danke

Antwort1

Ist es möglich, eine Betriebszeit von einem Windows-Prozess abzurufen, die nicht auf den Uhreinstellungen des Systems basiert?

Cygwin psignoriert Änderungen der aktuellen Zeit.

Nachteil:

  • Im Feld „STIME“ wird die Startzeit im Format hh:mm:ss angezeigt, sodass Sie nicht erkennen können, wie viele Tage es bereits läuft.

Beispielausgabe (vor der Datumsänderung):

DavidPostill@Hal ~
$ date
Fri, Jul 17, 2015  9:59:11 AM

DavidPostill@Hal ~
$ ps -e -W -p 2612
      PID    PPID    PGID     WINPID   TTY     UID    STIME COMMAND
     2612       0       0       2612  ?          0 16:51:33 C:\Windows\explorer.exe

Beispielausgabe (nach Änderung des Datums):

DavidPostill@Hal ~
$ date
Fri, Jul 17, 2015 11:59:29 AM

DavidPostill@Hal ~
$ ps -e -W -p 2612
      PID    PPID    PGID     WINPID   TTY     UID    STIME COMMAND
     2612       0       0       2612  ?          0 16:51:33 C:\Windows\explorer.exe

Der Wert von STIMEbleibt unverändert -16:51:33

Anmerkungen:

  • 16:51:33ist die Uhrzeit von gestern, als ich meine Maschine neu gestartet habe.
  • Das STIMEFeld zeigt die Startzeit in einem Format an hh:mm:ss, sodass Sie nicht erkennen können, wie viele Tage es bereits ausgeführt wurde.

In Cygwin ps fehlt die Option -o zum Formatieren der Ausgabe

Cygwin verwendet ein benutzerdefiniertes PS-Programm, das auch Windows-Prozesse verarbeiten kann, aber nicht alle diese Optionen unterstützt.

procpsUnterstützt jedoch -o.

Nachteile:

  • Im Feld „STIME“ wird die Startzeit im Format hh:mm:ss angezeigt, sodass Sie nicht erkennen können, wie viele Tage es bereits läuft.
  • Es verarbeitet keine Windows-Prozesse.

verwandte Informationen