Obtenga la hora del reloj de pared de un proceso de Windows con la línea de comando

Obtenga la hora del reloj de pared de un proceso de Windows con la línea de comando

¿Es posible obtener un tiempo de actividad de un proceso de Windows que no se base en la configuración del reloj del sistema?

Una solución basada en Linux es algo como:

ps -eo comm,etime

Con algunas investigaciones, probé algunas cosas en Windows pero no encontré lo que esperaba. Por ejemplo, usando:

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

en PowerShell, obtuve esto:

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

Mi problema es que la hora se basa en una fecha de creación, por lo que si se cambia la configuración del reloj por algún motivo, el resultado cambiará así:

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

(Por cierto, me gusta el tiempo de actividad negativo)

También eché un vistazo a wmic y el problema es el mismo:

WMIC PROCESS GET NAME, CREATIONDATE

¿Existe un campo o una opción para obtener información de tiempo de pared como etime?

Gracias

Respuesta1

¿Es posible obtener un tiempo de actividad de un proceso de Windows que no se base en la configuración del reloj del sistema?

Cygwin psignora los cambios en la hora actual.

Retirarse:

  • El campo STIME muestra la hora de inicio en el formato hh:mm:ss, por lo que no puede saber cuántos días ha estado funcionando.

Salida de ejemplo (antes de cambiar la fecha):

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

Salida de ejemplo (después de cambiar la fecha):

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

El valor de STIMEno cambia -16:51:33

Notas:

  • 16:51:33Es la hora de ayer cuando reinicié la máquina.
  • El STIMEcampo muestra la hora de inicio en el formato hh:mm:sspara que no pueda saber cuántos días ha estado funcionando.

A Cygwin ps le falta la opción -o para formatear la salida

Cygwin utiliza un programa ps personalizado que también puede manejar procesos de Windows pero que no admite todas esas opciones.

Sin embargo, procpsapoya -o.

Desventajas:

  • El campo STIME muestra la hora de inicio en el formato hh:mm:ss, por lo que no puede saber cuántos días ha estado funcionando.
  • No maneja procesos de Windows.

información relacionada