Linux Как выполнить htop определенных команд

Linux Как выполнить htop определенных команд

Linux Centos 6,64

Я использую следующую команду для отображения htop в столбце команд

команда htop -u

Как сделать так, чтобы отображалась только конкретная команда, которую я выбираю из списка запущенных команд?

Спасибо

решение1

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

Связанный контент