Dlaczego nie mogę pgrepować procesu?

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

Dlaczego to nie działa?

LanceBaynes
źródło

Odpowiedzi:

25

Domyślnie pgrep(1)będzie pasować tylko do nazwy procesu. Jeśli chcesz dopasować do pełnego wiersza poleceń, użyj -fopcji:

$ pgrep -f localhost:4000
camh
źródło
8

Zajrzyj na stronę podręcznika użytkownika dla pgrep . To nie jest tylko alias do uruchamiania ps z wieloma kolumnami, a następnie greping tekstu wyjściowego. W rzeczywistości wyszukuje wartości w określonych polach. Domyślnie podczas wyszukiwania szuka tylko nazwy procesu i zwraca PID . Możesz przeszukać pełny wiersz poleceń, dodając -fopcję. Możesz także przeszukać kilka innych pól, które mogą być przydatne, na przykład dopasowanie terminala, na którym działa proces lub identyfikator grupy.

Caleb
źródło