Ответы:
В 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.