Получить текущее время процесса Windows с помощью командной строки

Получить текущее время процесса Windows с помощью командной строки

Можно ли получить время безотказной работы от процесса Windows, который не основан на настройках часов системы?

Решение на базе Linux выглядит примерно так:

ps -eo comm,etime

С некоторыми исследованиями я попробовал несколько вещей на Windows, но я не нашел того, что ожидал. Например, используя:

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

в PowerShell у меня получилось следующее:

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

Моя проблема в том, что время основано на дате создания, поэтому если настройки часов по какой-либо причине изменятся, результат изменится следующим образом:

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

(Кстати, мне нравится отрицательное время безотказной работы)

Я также взглянул на wmic, и проблема та же:

WMIC PROCESS GET NAME, CREATIONDATE

Есть ли поле или возможность получить информацию о времени, например etime?

Спасибо

решение1

Можно ли получить время безотказной работы от процесса Windows, который не основан на настройках часов системы?

Cygwin psигнорирует изменения текущего времени.

Недостаток:

  • Поле STIME отображает время начала в формате чч:мм:сс, поэтому невозможно определить, сколько дней оно работает.

Пример вывода (до изменения даты):

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

Пример вывода (после изменения даты):

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

Значение STIMEне изменилось -16:51:33

Примечания:

  • 16:51:33это время вчерашнего дня, когда я перезагрузил машину.
  • Поле STIMEотображает время начала в таком формате hh:mm:ss, что невозможно определить, сколько дней оно длится.

В Cygwin ps отсутствует опция -o для форматирования вывода

Cygwin использует специальную программу ps, которая также может обрабатывать процессы Windows, но не поддерживает все эти параметры.

Однако procpsподдерживает -o.

Недостатки:

  • Поле STIME отображает время начала в формате чч:мм:сс, поэтому невозможно определить, сколько дней оно работает.
  • Он не обрабатывает процессы Windows.

Связанный контент