Como verificar quais processos específicos (scripts Python) estão em execução?
12
Usando o comando 'top', vejo 2 scripts python em execução. No entanto, como verifico seus nomes ou diretório / local? Quero identificá-los para que eu possa ver o que está funcionando corretamente e o que não está.
lsof -p $PIDseria um bom começo. $PIDtambém pode ser uma lista de PIDs delimitada por vírgulas. Além disso, toneladas de dados serão expostas /proc/$PID/.
DopeGhoti
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ê possui uma versão recente, pgreppode 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 '\0' ' ' < "/proc/$pid/cmdline"
echo
done
lsof -p $PID
seria um bom começo.$PID
também pode ser uma lista de PIDs delimitada por vírgulas. Além disso, toneladas de dados serão expostas/proc/$PID/
.Respostas:
Você pode obter uma lista de processos python usando
pgrep
:Isso, no entanto, não lista toda a linha de comando. Se você possui uma versão recente,
pgrep
pode usar -a para fazer isso:Caso contrário, você pode usar
/proc
:fonte
Eu costumo usar
ps -fA | grep python
para ver quais processos estão em execução.Isso fornecerá resultados como os seguintes:
O
CMD
mostrará quais scripts python você está executando, embora não forneça o diretório do script.fonte