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
, могут фильтровать выходные данные и отображать конкретные команды напрямую (хотя текстовый фильтр может также подобрать имя команды, если оно появляется в списке параметров другой команды).
htop
: у меня 2.0.1, как показаноhtop -v
.