рекомендации

четверг, 27 января 2022 г.

Команда Pgrep в Linux

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

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

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

Использование команды pgrep

Синтаксис команды pgrep следующий:
pgrep [OPTIONS] <PATTERN>
Соответствующий паттерн <PATTERN> указывается с использованием расширенных регулярных выражений.

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

pgrep ssh

Если есть запущенные процессы с именами, соответствующими «ssh», их PID будут отображаться на экране. Если совпадений не найдено, вывод пустой.
1039
2257
6850
31279
Команда возвращает 0, если хотя бы один запущенный процесс совпадает с запрошенным именем. В противном случае код выхода равен 1. Это может быть полезно при использовании в скриптах оболочки.

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 Command in Linux

Комментариев нет:

Отправить комментарий