Команда Pgrep в Linux

Linux pgrep

В этой статье рассматриваются основы команды pgrep в Linux.

pgrep — это утилита командной строки, которая позволяет найти идентификаторы процессов запущенных программ по заданным критериям. Это может быть полное или частичное имя процесса, пользователь, запустивший процесс, или другие атрибуты.

Команда pgrep является частью пакета procps (или procps-ng ), который предустановлен практически во всех дистрибутивах Linux.

Как использовать команду pgrep

Синтаксис команды pgrep следующий:

 pgrep [ OPTIONS ] 

Соответствующий указывается с помощью расширенных регулярных выражений.

При запуске без параметров pgrep отображает PID всех запущенных программ, соответствующих заданному имени. Например, чтобы найти PID SSH-сервера, выполните:

 pgrep ssh

Если запущены процессы с именами, совпадающими с «ssh», их PID будут отображены на экране. Если совпадений не обнаружено, вывод будет пустым.

 1039 2257 6850 31279

Команда возвращает 0 если хотя бы один запущенный процесс соответствует запрошенному имени. В противном случае код выхода1 Это может быть полезно при написании скриптов оболочки.

Если вы хотите отправлять сигналы соответствующим процессам, используйте pkill . Эта команда представляет собой оболочку для pkill и использует те же параметры и сопоставление с шаблоном.

pgrep выводит каждый найденный идентификатор процесса на новой строке. Параметр -d позволяет указать другой разделитель. Например, если вы хотите использовать пробел в качестве разделителя, введите:

 pgrep ssh -d' '
 1039 2257 6850 31279

Опция -l указывает pgrep отображать имя процесса вместе с его идентификатором:

 pgrep ssh -l

pgrep использует регулярные выражения для выполнения операции поиска и выведет список всех процессов, содержащих «ssh» в своих именах:

 1039 sshd 2257 ssh-agent 6850 ssh 31279 ssh-agent

Если вы хотите найти только те процессы, имена которых точно соответствуют шаблону поиска, используйте:

 pgrep '^ssh$' -l
 6850 ssh

Символ вставки ( ^ ) соответствует началу строки, а символ доллара $ — концу.

По умолчанию pgrep выполняет поиск только по имени процесса. При использовании опции -f команда выполняет поиск по полным спискам аргументов.

 pgrep -f ssh

Используйте опцию -u , чтобы указать pgrep отображать процессы, запущенные указанным пользователем:

 pgrep -u root

Чтобы указать нескольких пользователей, разделите их имена запятыми:

 pgrep -u root,mark

Вы также можете комбинировать параметры и шаблоны поиска. Например, чтобы вывести все процессы и их имена, запущенные под пользователем «mark» и содержащие «gnome» в своих именах, введите:

 pgrep -l -u mark gnome

Чтобы отобразить только самые последние (самые старые) или самые последние (самые новые) запущенные процессы, используйте опцию -n (для самых новых) или -o (для самых старых).

Например, чтобы найти последний процесс, запущенный пользователем «mark», нужно ввести:

 pgrep -lnu mark

Как видно из примера выше, вы также можете объединять варианты без пробела между ними и одним тире.

Чтобы изменить соответствие, то есть отобразить только процессы, не соответствующие заданным критериям, используйте опцию -v . Следующая команда выведет все процессы, которые не запущены пользователем «mark»:

 pgrep -v -u mark

Опция -c указывает pgrep вывести только количество соответствующих процессов. Например, чтобы найти процессы, запущенные от имени пользователя «mark», введите:

 pgrep -c -u mark

Заключение

Команда pgrep используется для определения PID запущенной программы на основе различных критериев.

Для получения дополнительной информации о команде pgrep посетите страницу руководства pgrep или введите man pgrep в терминале.

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

терминал pgrep

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *