두 개 이상의 Python 프로그램이 실행 중인 경우 Python 프로그램의 PID를 어떻게 확인합니까?

두 개 이상의 Python 프로그램이 실행 중인 경우 Python 프로그램의 PID를 어떻게 확인합니까?

x내 시스템에는 두 개의 Python 프로그램이 실행 중입니다. 프로그램 및 프로그램 이라고 합니다 y.

나는 프로그램의 pid를 얻고 싶지만 내 bash 스크립트에 대해서는 y얻지 못합니다 . x을 사용할 때 pgrep python둘 다의 pid를 얻었지만 어느 것이 어느 것인지 알 수 없습니다.

bash 스크립트에서 둘 사이의 차이점을 어떻게 알 수 있습니까?

답변1

-f스위치를 사용하여 인수 목록과 일치시킬 수 있습니다 pgrep( man pgrep자세한 내용을 읽어 보십시오).

pgrep -f x

프로그램 x

pgrep -f y

각각 전용 프로그램 y.

대안으로 xy가 충분히 고유하지 않고 너무 많은 행으로 끝나는 경우 ps및 를 사용하여 grep더 많은 옵션을 가질 수 있습니다.

ps ax | grep 'python x' | grep -v grep | awk '{print $1}'

이것은

  • 모든 관련 프로세스 나열
  • 그 안에 있는 것을 grep하십시오 python x. 여기에 다음과 같은 경로 지정자를 추가해야 할 수도 있습니다.python ./path/to/x
  • 일치하는 프로세스 목록에서 grep 명령 자체를 제거하십시오.
  • pid인 첫 번째 열만 인쇄합니다.

관련 정보