왜 프로세스를 pgrep 할 수 없습니까?

$ 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를 실행하고 텍스트 출력을 greping하는 별명이 아닙니다. 실제로 특정 필드에서 값을 검색합니다. 기본적 으로 검색을 수행 할 때 프로세스 이름 만보고 PID를 반환합니다 . -f옵션 을 추가하여 전체 명령 행을 검색 할 수 있습니다 . 프로세스가 실행중인 터미널이나 그룹 ID를 일치시키는 것과 같이 유용 할 수있는 몇 가지 다른 필드를 검색 할 수도 있습니다.


답변