top
& pgrep
Чтобы отфильтровать вывод top
по имени процесса, вы можете использовать pgrep
, чтобы получить список PID s по имени процесса, а затем передать их параметру -p
top
.
Например:
top -p $(pgrep -d',' http)
Примечание: опция -d','
разделяет PID запятыми, что и ожидается top -p
.Примечание 2: top
вернет сообщение об ошибке, если не будет запущенных процессов, соответствующих имени, указанному вами в pgrep
.
Чтобы записать результаты top
в файл, используйте -n 1
параметр (только одна итерация) и перенаправить вывод в файл журнала.
top -p $(pgrep -d',' http) -n 1 >> your_log_file
Для этого каждую секунду, возможно, будет while
цикл с sleep
?
while :; do top -p $(pgrep -d',' http) -n 1 >> your_log_file; sleep 1; done
Для отметки времени каждой записи вы можете добавить вывод date
.Например,
while :; do top -p $(pgrep -d',' http) -n 1 >> log.txt; date >> log.txt; sleep 1; done