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


0

Linux Centos 6,64

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

команда htop -u

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

Спасибо

Ответы:


2

В 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».
Майк

У вас должна быть другая версия htop: у меня 2.0.1, как показано htop -v.
AFH

Здравствуйте, обновил его, теперь он работает, большое спасибо!
Майк
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.