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

top команда производит своего рода предпросмотр в реальном времени процессов и их использования ресурсов в системе.

Я хотел бы запустить программу на установке сервера, которая запускает множество различных процессов с непредсказуемым PIDs, и получите изменяющийся вывод top, не имея необходимость полагаться на соединение SSH от настольной среды. Предпочтительно я хотел бы смочь 'воспроизвести' это в той же среде CLI, как будто это было видео, но могло приемлемо переместить файл в другое место для просмотра его как это.

Существует ли путь, с помощью командной строки только, от прямого терминала на установке сервера, что я могу записать этот вывод в течение определенного периода времени? Или путем ввода значения в течение времени, или путем ручного запуска и остановки процесса записи.

3
задан 6 August 2017 в 11:07

3 ответа

Можно использовать 'сценарий' и 'scriptreplay' утилиты для выполнения этого.

  1. выполненный сценарий с - синхронизация опции:

    сценарий - timing=top.timing topscript

  2. выполняет главную команду, позволил ему работать, пока Вы хотите

  3. вершина выхода, использующая q или управление-c.

  4. выходят из сессии сценария с управлением-D (EOF), или путем ввода выхода

  5. выполняет scriptreplay для воспроизведения сценария:

    scriptreplay top.timing topscript

6
ответ дан 1 December 2019 в 13:01

Регулярный режим работы top не подходит для сохранения вывода в файле.

можно использовать -b (пакетный) режим top наряду с интервалом подходящего времени для проверки (-d) и количество повторений для количества (-n).

, которое можно также упомянуть определенный PIDs (-p) для проверки только.

, Например:

top -b -d 5 -n 3 -p 1089,2345 >output.txt

выполнит top в пакетном режиме, сделает 3 повторения после 5 секунд каждый и будет только контролировать два, упомянул PIDs (1089,2345). Вывод будет сохранен в output.txt.

Изменение значения для установки потребности.

6
ответ дан 1 December 2019 в 13:01

Это не точно то же как top, но можно использовать этот сценарий:

while true; do
echo 
echo $(date)
echo
ps -eo pid,user,pri,ni,vsize,rss,stat,pcpu,pmem,time,wchan --sort=-pcpu | head -20
sleep 5 
done  > ps.log

Вы будете иметь более или менее top информация в файле ps.log. Для получения дополнительной информации об эти ps команда, см. man ps.

1
ответ дан 1 December 2019 в 13:01

Другие вопросы по тегам:

Похожие вопросы: