Як перевірити, які конкретні процеси (сценарії Python) запущені?


12

Використовуючи команду "вгорі", я можу побачити запущені 2 сценарії python. Однак як я можу перевірити їхні імена чи каталог / місцезнаходження? Я хочу визначити їх, щоб я міг бачити, що працює належним чином, а що ні.


1
lsof -p $PIDбуло б гарним початком. $PIDтакож може бути списком PID-файлів, обмеженим комами. Також буде відкрито тонни даних /proc/$PID/.
DopeGhoti

Відповіді:


19

Ви можете отримати список процесів 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

3

Я зазвичай використовую, 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 у вас запущені, хоча він не надасть вам каталог сценарію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.