[server] 복잡한 프로세스 이름에 대한 pgrep / pidof 사용법?

시스템의 프로세스에 HUP를 보낼 수 있도록 pidof 또는 pgrep을 사용하려고합니다. 문제는 정확한 매개 변수로 프로세스를 종료하고 싶다는 것입니다.

이것은 ‘ps awx’의 출력입니다.

  657 ?        S      0:00 processname software
  658 ?        S      0:00 processname demo
  659 ?        S      0:00 processname test

다음 중 하나를 수행하면

pidof processname
pgrep processname

processname으로 시작하는 모든 프로세스 목록을 얻지 만 다음과 같이하고 싶습니다.

pidof processname test
pgrep processname test

필요한 PID 만 검색하려면 (이 예제에서는 659)

최신 정보

pgrep에서 -f 플래그를 사용하면 원하는 작업을 수행 할 수 있습니다.

pgrep -f "processname test"

당신은 정답을 얻을 것입니다.



답변

$ ps aux |grep [d]evio
user01   10220  0.0  0.1   5376  2424 pts/5    S+   11:41   0:00 ssh devio
$ pgrep -f "ssh devio"
10220
$ pkill -0 -f "ssh devio" ; echo $?
0


답변