Za pomocą polecenia „top” widzę, że działają 2 skrypty python. Jak jednak sprawdzić ich nazwy lub katalog / lokalizację? Chcę je zidentyfikować, aby zobaczyć, co działa poprawnie, a co nie.
Za pomocą polecenia „top” widzę, że działają 2 skrypty python. Jak jednak sprawdzić ich nazwy lub katalog / lokalizację? Chcę je zidentyfikować, aby zobaczyć, co działa poprawnie, a co nie.
Odpowiedzi:
Możesz uzyskać listę procesów python, używając pgrep:
pgrep -lf python
To jednak nie wyświetla całej linii poleceń. Jeśli masz najnowszą wersję pgrep, możesz użyć -a, aby to zrobić:
pgrep -af python
W przeciwnym razie możesz użyć /proc:
IFS=" " read -ra pids < <(pgrep -f python)
for pid in "${pids[@]}"; do
printf '%d: ' "$pid"
tr '\0' ' ' < "/proc/$pid/cmdline"
echo
done
Zwykle używam, ps -fA | grep pythonaby zobaczyć, jakie procesy są uruchomione.
Zapewni to następujące wyniki:
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
CMDCię co Python skrypty zostały uruchomione pokazać, choć nie daje katalog skryptu.
lsof -p $PIDbyłby dobry początek.$PIDmoże być również rozdzieloną przecinkami listą PID. Również tony danych zostaną ujawnione/proc/$PID/.