Come verificare quali processi specifici (script Python) sono in esecuzione?


12

Usando il comando 'top' posso vedere 2 script Python in esecuzione. Tuttavia, come posso controllare i loro nomi o directory / posizione? Voglio identificarli in modo da poter vedere cosa funziona correttamente e cosa no.


1
lsof -p $PIDsarebbe un buon inizio. $PIDpuò anche essere un elenco di PID delimitati da virgole. Inoltre, saranno esposte tonnellate di dati /proc/$PID/.
DopeGhoti,

Risposte:


18

Puoi ottenere un elenco di processi Python usando pgrep:

pgrep -lf python

Questo, tuttavia, non elenca l'intera riga di comando. Se hai una versione recente di pgreppuoi usare -a per fare questo:

pgrep -af python

Altrimenti, puoi usare /proc:

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

3

Di solito uso ps -fA | grep pythonper vedere quali processi sono in esecuzione.

Questo ti darà risultati come i seguenti:

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

Il CMDvi mostrerà ciò che gli script python che avete in esecuzione, anche se non vi darà la directory dello script.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.