No PowerShell:
PS C:\> New-TimeSpan -Start (get-process notepad).StartTime
Encontrou este comando em Blogs do TechNet .
Eu tenho executado um processo no meu laptop fazendo algum processamento pesado nos últimos dias. Toda noite eu hiberne meu computador e inicializo de manhã.
Estou procurando uma maneira de determinar quanto tempo esse processo está sendo executado.
Usando o PowerShell, consegui encontrar a hora de início do meu processo.
Get-Process | Select-Object id, starttime, name |Sort-Object name
No entanto, esta é apenas a hora de início. Gostaria de saber há quanto tempo meu processo está sendo executado ativamente. Não é o tempo desde que começou a correr.
6/13/2014 9:15:43 AM - > AGORA (24/06/2014 10:38:45 AM) = 11 Dias 1 Hora 23 Minutos 0 Segundos.
Usando o Gerenciador de Tarefas, na guia Processos, examinei a coluna Tempo da CPU, que é útil e, provavelmente, fornece o melhor número estatístico para "quanto tempo leva para executar este programa", mas não é como longo o processo foi executado.
363: 47: 35
Editar : não acho que tenha sido muito claro, que saiba como obter o tempo decorrido desde o início desse processo, mas não é a quantidade de tempo que o processo está sendo executado porque eu hiberne meu computador, o que basicamente o congela. Então, estou procurando o tempo decorrido desde o início do processo menos o tempo gasto em hibernação entre agora e quando o processo começou.
No PowerShell:
PS C:\> New-TimeSpan -Start (get-process notepad).StartTime
Encontrou este comando em Blogs do TechNet .
(Get-Process | ft Name,@{label="Elapsed Time";expression={[System.Math]::Round(((Get-Date)-$_.StartTime).totalseconds)}})