Linux Как получить конкретные команды

407
Mike

Linux Centos 6,64

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

команда htop -u

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

Спасибо

0

1 ответ на вопрос

2
AFH

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

Привет AFH, спасибо за ваш ответ. Команды, которые вы предложили, пришли сюда со следующим сообщением «Ошибка: неизвестный флаг: -p». Mike 6 лет назад 0
У вас должна быть другая версия `htop`: у меня есть 2.0.1, как показано` htop -v`. AFH 6 лет назад 0
Здравствуйте, обновили его, теперь он работает, большое спасибо! Mike 6 лет назад 0

Похожие вопросы