Como verificar quais processos específicos (scripts Python) estão sendo executados?

12

Usando o comando 'top', vejo dois scripts python em execução. No entanto, como faço para verificar seus nomes ou diretório / local? Eu quero identificá-los para que eu possa ver o que está funcionando corretamente e o que não está.

    
por User 24.01.2014 / 05:37

2 respostas

18

Você pode obter uma lista de processos python usando pgrep :

pgrep -lf python

Isso, no entanto, não lista toda a linha de comando. Se você tiver uma versão recente de pgrep , poderá usar -a para fazer isso:

pgrep -af python

Caso contrário, você pode usar /proc :

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

Eu costumo usar ps -fA | grep python para ver quais processos estão sendo executados.

Isso fornecerá resultados como os seguintes:

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

O CMD mostrará a você quais scripts python você está executando, embora não forneça o diretório do script.

    
por 02.12.2017 / 00:13

Tags