Obtenha a hora do relógio de parede de um processo do Windows com linha de comando

Obtenha a hora do relógio de parede de um processo do Windows com linha de comando

É possível obter um tempo de atividade de um processo do Windows que não seja baseado nas configurações do relógio do sistema?

Uma solução baseada em Linux é algo como:

ps -eo comm,etime

Com algumas pesquisas, tentei algumas coisas no Windows mas não encontrei o que esperava. Por exemplo, usando:

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

no PowerShell, consegui isto:

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

Meu problema é que a hora é baseada em uma data de criação, então se as configurações do relógio forem alteradas por qualquer motivo, o resultado mudará assim:

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

(A propósito, gosto do tempo de atividade negativo)

Também dei uma olhada no wmic e o problema é o mesmo:

WMIC PROCESS GET NAME, CREATIONDATE

Existe um campo ou uma opção para obter informações de tempo de parede como etime?

Obrigado

Responder1

É possível obter um tempo de atividade de um processo do Windows que não seja baseado nas configurações do relógio do sistema?

O Cygwin psignora as alterações na hora atual.

Recua:

  • O campo STIME exibe a hora de início no formato hh:mm:ss, portanto você não pode saber há quantos dias ele está em execução.

Exemplo de saída (antes de alterar a data):

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

Exemplo de saída (após alteração da data):

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

O valor de STIMEpermanece inalterado -16:51:33

Notas:

  • 16:51:33é a hora de ontem quando reiniciei pela máquina.
  • O STIMEcampo exibe a hora de início no formato hh:mm:sspara que você não saiba há quantos dias ele está em execução.

Cygwin ps está faltando a opção -o para formatar a saída

Cygwin usa um programa ps personalizado que também pode lidar com processos do Windows, mas que não oferece suporte a todas essas opções.

No entanto, procpssuporta -o.

Desvantagens:

  • O campo STIME exibe a hora de início no formato hh:mm:ss, portanto você não pode saber há quantos dias ele está em execução.
  • Ele não lida com processos do Windows.

informação relacionada