3

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

Решение на основе Linux это что-то вроде:

ps -eo comm,etime

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

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

в PowerShell я получил это:

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

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

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

(Кстати, мне нравится негативное время работы)

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

WMIC PROCESS GET NAME, CREATIONDATE

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

Спасибо

1 ответ1

1

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

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

Минус:

  • Поле 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .