В симбиозе человек-машина приспосабливаться должен человек; машины этого не могут. (Алан.Дж.Перлис)

2 мин для чтенияКоманда Pgrep в Linux

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
22 февраля 2020
Команда Pgrep в Linux
В этой статье рассматриваются основы команды pgrep в Linux.

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 показать имя процесса наряду с его ID:

pgrep ssh -l

 

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

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

 

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

pgrep '^ssh$' -l
6850 ssh

 

Символ caret ( ^) соответствует началу строки и доллару $ в конце.
По умолчанию 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 в свой терминал.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close