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á.
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á.
Respostas:
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, pgrep
pode 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
Eu costumo usar ps -fA | grep python
para ver quais processos estão em execução.
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á quais scripts python você está executando, embora não forneça o diretório do script.
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/
.