Por que não consigo pgrep um processo?

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

Por que isso não funciona?

LanceBaynes
fonte

Respostas:

25

Por padrão, pgrep(1)corresponderá apenas ao nome do processo. Se você deseja corresponder à linha de comando completa, use a -fopção:

$ pgrep -f localhost:4000
camh
fonte
8

Dê uma olhada na página de manual do pgrep . Não é apenas um alias para executar ps com várias colunas e depois exibir a saída de texto. Na verdade, ele procura valores específicos em campos específicos. Por padrão, ele apenas analisa o nome do processo ao fazer uma pesquisa e retorna o PID . Você pode pesquisar a linha de comando completa adicionando a -fopção Você também pode procurar vários outros campos que podem ser úteis, como combinar o terminal em que um processo está sendo executado ou a identificação do grupo.

Caleb
fonte