Linux Centos 6,64
Я использую следующую команду для отображения htop в столбце команды
команда htop -u
Как мне сделать так, чтобы он показывал только определенную команду, которую я выбираю из списка запущенных команд?
Спасибо
В htop -u
параметр является именем пользователя, а не командой.
Единственный параметр для мониторинга конкретной команды - это -p
, но для этого требуется PID, поэтому имя команды должно быть сначала преобразовано в PID, что будет делать pidof
.
Если выполняется более одного экземпляра команды, pidof
возвращает список PID, разделенных пробелами, но опция -p
принимает список, разделенный запятыми, поэтому вывод pidof
должен быть преобразован:
htop -p $(pidof command | sed 's/ /,/g')
Это лучше всего включить в функцию или скрипт, в этом случае команда будет:
htop -p $(pidof "$1" | sed 's/ /,/g')
Хотя я сначала думаю о sed
для пакетного редактирования, в этом случае можно использовать более простую команду tr
:
htop -p $(pidof "$1" | tr ' ' ',')
Обратите внимание, что системные мониторы с графическим интерфейсом, такие как qps
и ksysguard
, могут фильтровать выходные данные и отображать конкретные команды напрямую (хотя текстовый фильтр может также подобрать имя команды, если оно появляется в списке параметров другой команды).