$ 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
Почему это не работает?
По умолчанию pgrep(1)
будет сопоставляться только с именем процесса. Если вы хотите сравнить с полной командной строкой, используйте -f
параметр:
$ pgrep -f localhost:4000
Загляните на страницу справочника по pgrep . Это не просто псевдоним для запуска ps с кучей столбцов и последующего поиска текста. Он на самом деле ищет определенные поля для значений. По умолчанию при поиске он смотрит только на имя процесса и возвращает PID . Вы можете искать всю командную строку, добавив -f
опцию. Вы также можете выполнить поиск в нескольких других полях, которые могут быть полезны, например, в терминале, где запущен процесс, или в идентификаторе группы.