Por que não consigo pgrep um processo?

11
$ 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?

    
por LanceBaynes 17.05.2011 / 12:55

2 respostas

24

Por padrão, pgrep(1) corresponderá apenas ao nome do processo. Se você quiser combinar com a linha de comando completa, use a opção -f :

$ pgrep -f localhost:4000
    
por 17.05.2011 / 13:00
8

Dê uma olhada na página do manual do pgrep . Não é apenas um alias para executar ps com um monte de colunas e, em seguida, greping a saída de texto. Na verdade, ele procura campos específicos por valores. Por padrão, ele apenas procura o nome do processo ao fazer uma pesquisa e retorna o PID . Você pode procurar a linha de comando completa adicionando a opção -f . Você também pode pesquisar vários outros campos que podem ser úteis, como a correspondência do terminal em que um processo está em execução ou o ID do grupo.

    
por 17.05.2011 / 13:01

Tags