Wie kann ich überprüfen, welche bestimmten Prozesse (Python-Skripte) ausgeführt werden?


12

Mit dem Befehl 'top' kann ich sehen, dass 2 Python-Skripte ausgeführt werden. Wie überprüfe ich jedoch deren Namen oder Verzeichnis / Speicherort? Ich möchte sie identifizieren, damit ich sehen kann, was richtig läuft und was nicht.


1
lsof -p $PIDwäre ein guter start. $PIDkann auch eine durch Kommas getrennte Liste von PIDs sein. Außerdem werden Tonnen von Daten in verfügbar gemacht /proc/$PID/.
DopeGhoti

Antworten:


18

Sie können eine Liste der Python-Prozesse abrufen, indem Sie Folgendes verwenden pgrep:

pgrep -lf python

Dies listet jedoch nicht die gesamte Befehlszeile auf. Wenn Sie eine neuere Version von haben pgrep, können Sie -a verwenden, um dies zu tun:

pgrep -af python

Andernfalls können Sie Folgendes verwenden /proc:

IFS=" " read -ra pids < <(pgrep -f python)
for pid in "${pids[@]}"; do
    printf '%d: ' "$pid"
    tr '\0' ' ' < "/proc/$pid/cmdline"
    echo
done

3

Normalerweise ps -fA | grep pythonsehe ich , welche Prozesse ausgeführt werden.

Dadurch erhalten Sie folgende Ergebnisse:

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

Das CMDzeigt Ihnen, welche Python-Skripte Sie ausgeführt haben, obwohl es Ihnen nicht das Verzeichnis des Skripts gibt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.