실행중인 특정 프로세스 (Python 스크립트)를 확인하는 방법은 무엇입니까?


12

'top'명령을 사용하면 2 개의 Python 스크립트가 실행되고 있음을 알 수 있습니다. 그러나 이름이나 디렉토리 / 위치는 어떻게 확인합니까? 무엇이 제대로 작동하고 무엇이 작동하지 않는지 볼 수 있도록 식별하고 싶습니다.


1
lsof -p $PID좋은 출발이 될 것입니다. $PID쉼표로 구분 된 PID 목록 일 수도 있습니다. 또한 수많은 데이터가에 노출됩니다 /proc/$PID/.
DopeGhoti

답변:


19

다음을 사용하여 파이썬 프로세스 목록을 얻을 수 있습니다 pgrep.

pgrep -lf python

그러나 이것은 전체 명령 행을 나열하지는 않습니다. 최신 버전 pgrep이있는 경우 -a를 사용하여 다음을 수행 할 수 있습니다.

pgrep -af python

그렇지 않으면 다음을 사용할 수 있습니다 /proc.

IFS=" " read -ra pids < <(pgrep -f python)
for pid in "${pids[@]}"; do
    printf '%d: ' "$pid"
    tr '\0' ' ' < "/proc/$pid/cmdline"
    echo
done

3

나는 일반적으로 ps -fA | grep python어떤 프로세스가 실행 중인지 확인하는 데 사용 합니다.

결과는 다음과 같습니다.

UID     PID   PPID  C STIME TTY      TIME     BIN            CMD
user    3985  3960  0 19:46 pts/4    00:00:07 path/to/python python foo.py

CMD당신에게 스크립트의 디렉토리를 제공하지 않습니다 있지만, 실행 한 내용을 파이썬 스크립트을 보여줍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.