Как получить время безотказной работы системы в миллисекундах в командной строке?

1824
ayyob khademi

Как я могу получить время работы системы в миллисекундах из командной строки Windows? Я хочу что-то вроде результата этой функции: gettickcount()например 24233241231.

Есть ли команда, утилита или трюк для этого?

2
Для какой операционной системы это? Dave 11 лет назад 9
@MarcksThomas Я не вижу здесь проблемы, нет ничего плохого в том, чтобы потом добавлять требования, будучи ОП ... BloodPhilia 11 лет назад 1
Другие пользователи не могут настолько радикально изменить характер вопроса, чтобы он больше не отражал проблему ОП. Какие еще пользователи начали публиковать решения для Linux? Это не поможет ОП вообще. BloodPhilia 11 лет назад 1
@ H.-DirkSchmitt За исключением того, что это не ресторан, это место, куда люди приходят за помощью. Если вы только ради репутации, я чувствую, что вы в ней по всем неправильным причинам. Я не пометил ваш ответ для удаления чего-либо. И хотя это правда, что пользователь, не являющийся ФП, редактировал вопрос, он сделал это, чтобы отразить пожелания и требования ФП. Если вы хотите обсудить это, не стесняйтесь присоединиться ко мне в чате. BloodPhilia 11 лет назад 0
@ H.-DirkSchmitt: я открыл вопрос по [meta] (http://meta.superuser.com/questions/6489/should-we-add-information-from-comments-to-questions-if-it -нарушает-существует) для этого обсуждения. Marcks Thomas 11 лет назад 0
@ H.-DirkSchmitt: Честно говоря, я думаю, что ответ имеет смысл, по крайней мере, пока мы не достигнем консенсуса по мета. Marcks Thomas 11 лет назад 1
@ayyobkhademi: AFAIK в Windows нелегко получить значение времени безотказной работы в мс из командной строки. Я думаю, что ближе всего к этому можно обратиться к скрипту PowerShell, который, в свою очередь, вызывает GetTickCount () или, что еще лучше, GetTickCount64 () (только для Vista +) из Kernel32.dll. Karan 11 лет назад 0

2 ответа на вопрос

5

Вы уверены, что вам нужны миллисекунды с помощью утилиты командной строки. ИМХО, накладные расходы на запуск нового процесса для его извлечения займет немного больше времени.

Если секунды также соответствуют вашим требованиям, вот небольшая схема с кодом bash.
Далее предполагается, что у вас есть какой-то Unix. Этот пример работает в текущей системе Linux.

# Reading the time of boot bootTime=$(awk '/^btime/' </proc/stat) currentTime=$(date +%s) liveTime=$(( $ - $ )) echo "online since: $" 
что насчет Windows? ayyob khademi 11 лет назад 0
@ayyobkhademi: Разбор этой строки - огромная проблема из командной строки Windows, но вы можете использовать это как источник: `systeminfo / FO list | findstr / C: "Время загрузки системы:" `. Marcks Thomas 11 лет назад 1
1
A. 'Eradicator' Polyakov

Для окон выполните следующий текст в командной строке: net stats srv

https://support.microsoft.com/kb/555737