Я считаю вывод команды shell top
простым и знакомым способом получить приблизительное представление о состоянии машины. Я бы хотел обслуживать top
вывод (или что-то очень похожее на него) с крошечного веб-сервера на машине для грубого мониторинга.
Есть ли способ заставить top написать свой текстовый вывод ровно один раз , без форматирования символов? Я пробовал это:
(sleep 1; echo 'q') | top > output.txt
Кажется, это близко к тому, что я хочу, за исключением того, что (1) нет никакой гарантии, что я не получу больше или меньше одного скриншота информации и (2) мне придется удалить все символы форматирования терминала.
Или есть какая-то другая top
подобная команда, которая перечисляет как память на уровне машины, так и на уровне процесса / использование процессора / информацию о времени безотказной работы?
(В идеале мне бы хотелось, чтобы стратегия была переносимой как для Linux, так и для Mac OS X, поскольку наши разработчики используют Mac, а наша среда разработки - Linux.)
источник
top
в OS X поддерживал флаг -b. :-( К сожалению, это не так, и я не вижу версию,top
доступную через homebrew. Это похоже на правильный ответ для Linux, хотя./usr/bin/top -l 1
на OSX 10.9.4 идеально ... спасибо! Что касается установки GNU top, я мог бы установить ее на свою машину, но мне пришлось бы убедить других разработчиков установить ее на свои машины, чтобы мой код работал на них, поэтому я бы предпочел этого избежать. (Если это не доступно через homebrew, будет сопротивление.) Теперь, когда я буду переключаться в зависимости от платформы, я буду жадным ... вы знаете о каком-либо полуэквиваленте Windows, так что эти разработчики (у нас есть несколько) может также иметь сырую страницу статуса? (Если нет, это хорошо, ваш ответ уже супер-полезен!)top -l 2
и выбросить первую страницу образцов?Чтобы получить похожие номера типов из системы Windows, вам нужно взглянуть на powershell.
Просто чтобы получить список процессов и посмотреть на вас
get-process
. Взгляните на эту ссылку .При этом некоторые дальнейшие поиски, нашли хорошую команду немного здесь .
Что, если вы возьмете из представленного цикла while, для ваших нужд будет:
ps
в powershell это псевдоним дляget-process
.источник