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