pgrep을 사용하여 쉘 스크립트 프로세스를 찾는 방법

pgrep을 사용하여 쉘 스크립트 프로세스를 찾는 방법

pgrepCentOS 터미널에서 실행 중인 프로세스를 종료하는 명령을 사용하고 싶습니다 . 나는 시도했다:

pgrep fedora-proxy-k8s-postgresql | xargs -r kill -9

백그라운드에서 실행되는 bash 스크립트이기 때문에 프로세스를 찾을 수 없습니다.

➜  pydolphin git:(tencent-cloud) ps aux|grep k8s-pos
root     14131  0.0  0.0 113288  1084 ?        SN   01:35   0:00 bash ./fedora-proxy-k8s-postgresql.sh

프로세스를 찾아서 종료하려면 어떻게 해야 합니까 pgrep? 아니면 명령어를 사용해야 하나요 ps?

답변1

노력하다:

pgrep -af 'fedora-proxy-k8s-postgresql'

-f설정되면 이 패턴은 전체 명령줄과 일치합니다.

프로세스를 종료해야 하는 경우:

pkill -9 -f 'fedora-proxy-k8s-postgresql'

@aviro의 의견에서 언급했듯이 pkill이는 주의해서 사용해야 합니다. vi fedora-proxy-k8s-postgresql.sh명령줄을 실행하는 다른 프로세스가 있는 경우 해당 프로세스도 이 pkill패턴과 일치하여 종료됩니다. 따라서 종료하려는 프로세스가 명령줄이 해당 패턴과 일치하는 유일한 프로세스인지 확인하거나 -f 'bash ./fedora-proxy-k8s-postgresql.sh'실행하기 전에 더 정확한 패턴을 작성하는 것이 좋습니다 pkill.

자세한 내용은 맨페이지를 참조하십시오 pgrep.

관련 정보