Почему я не могу 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

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

Ответы:


25

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

$ pgrep -f localhost:4000

8

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

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