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