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