Використовуючи команду "вгорі", я можу побачити запущені 2 сценарії python. Однак як я можу перевірити їхні імена чи каталог / місцезнаходження? Я хочу визначити їх, щоб я міг бачити, що працює належним чином, а що ні.
Використовуючи команду "вгорі", я можу побачити запущені 2 сценарії python. Однак як я можу перевірити їхні імена чи каталог / місцезнаходження? Я хочу визначити їх, щоб я міг бачити, що працює належним чином, а що ні.
Відповіді:
Ви можете отримати список процесів python, використовуючи pgrep
:
pgrep -lf python
Це, однак, не перелічує весь командний рядок. Якщо у вас є остання версія, pgrep
ви можете використовувати -a, щоб зробити це:
pgrep -af python
В іншому випадку ви можете використовувати /proc
:
IFS=" " read -ra pids < <(pgrep -f python)
for pid in "${pids[@]}"; do
printf '%d: ' "$pid"
tr '\0' ' ' < "/proc/$pid/cmdline"
echo
done
Я зазвичай використовую, ps -fA | grep python
щоб побачити, які процеси запущені.
Це дасть такі результати, як:
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
Показ CMD
покаже вам, які сценарії python у вас запущені, хоча він не надасть вам каталог сценарію.
lsof -p $PID
було б гарним початком.$PID
також може бути списком PID-файлів, обмеженим комами. Також буде відкрито тонни даних/proc/$PID/
.