Почему я не могу pgrep процесс?

12
$ ps aux | grep -i ssh
USER      4364  0.0  0.0   9004  1032 ?        Ss   12:20   0:00 ssh -v -fND localhost:4000 USERNAME@SERVER-IP-ADDRESS

$ pgrep localhost:4000

Почему это не работает?

LanceBaynes
источник

Ответы:

25

По умолчанию pgrep(1)будет сопоставляться только с именем процесса. Если вы хотите сравнить с полной командной строкой, используйте -fпараметр:

$ pgrep -f localhost:4000
CAMH
источник
8

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

Калеб
источник