Wie zeigt man laufende Python-Prozesse an?

Veröffentlicht 8. September 2024

Problem: Identifizierung laufender Python-Prozesse

Die Überwachung aktiver Python-Prozesse ist wichtig für die Verwaltung von Systemressourcen und die Behebung von Leistungsproblemen. Es kann schwierig sein, mehrere gleichzeitig laufende Python-Skripte zu verfolgen, besonders bei komplexen Anwendungen oder automatisierten Aufgaben.

Verwendung des 'ps'-Befehls zur Auflistung von Python-Prozessen

Grundlegende Verwendung des 'ps'-Befehls

Der 'ps'-Befehl zeigt Informationen über aktive Prozesse auf Unix-ähnlichen Systemen an. Er liefert eine Momentaufnahme der aktuellen Prozesse, einschließlich ihrer Prozess-ID (PID), des Terminals, der CPU-Nutzung und mehr.

Um Python-Prozesse mit 'ps' aufzulisten, kombinieren Sie es mit dem 'grep'-Befehl:

ps aux | grep python

Dieser Befehl zeigt Prozesse an, die "python" in ihrem Namen oder der Befehlszeile enthalten. Die 'aux'-Optionen bieten eine detaillierte Ansicht aller Prozesse für alle Benutzer.

Tipp: grep aus den Ergebnissen ausschließen

Um den 'grep'-Befehl selbst aus den Ergebnissen auszuschließen, verwenden Sie folgenden Befehl:

ps aux | grep '[p]ython'

Dieser Trick verwendet eckige Klammern um den ersten Buchstaben, was 'python' entspricht, aber nicht '[p]ython', wodurch der grep-Prozess selbst effektiv herausgefiltert wird.

Erweiterte 'ps'-Optionen für detaillierte Informationen

Für mehr Details über Python-Prozesse verwenden Sie diese Flags mit dem 'ps'-Befehl:

ps -eo pid,ppid,user,%cpu,%mem,start,time,command | grep python

Dieser Befehl liefert:

  • PID: Prozess-ID
  • PPID: Elternprozess-ID
  • USER: Benutzer, der den Prozess ausführt
  • %CPU: CPU-Auslastung
  • %MEM: Speichernutzung
  • START: Startzeit des Prozesses
  • TIME: CPU-Zeit
  • COMMAND: Vollständige Befehlszeile

So lesen Sie diese Ausgabe:

  1. Prüfen Sie die PID, um bestimmte Prozesse zu identifizieren.
  2. Schauen Sie auf die Spalten %CPU und %MEM für die Ressourcennutzung.
  3. Die START- und TIME-Spalten zeigen, wann der Prozess begann und wie lange er läuft.
  4. Die COMMAND-Spalte zeigt den vollständigen Python-Befehl, was bei der Identifizierung des Skripts oder der Anwendung helfen kann.

Die Verwendung dieser 'ps'-Optionen gibt Ihnen einen klaren Überblick über Ihre Python-Prozesse und deren Ressourcenverbrauch.

Verwendung von 'pgrep' zur Identifizierung von Python-Prozessen

Einführung in 'pgrep'

'pgrep' ist ein Werkzeug, das nach Prozessen basierend auf ihren Namen oder Attributen sucht. Es hilft, Prozess-IDs (PIDs) laufender Programme zu finden. 'pgrep' ist einfach und kann Prozesse leicht filtern.

Um 'pgrep' mit Python zu verwenden, nutzen Sie diese grundlegende Syntax:

pgrep python

Dieser Befehl listet PIDs von Prozessen auf, die "python" in ihrem Namen haben. Für mehr Details verwenden Sie das '-l'-Flag:

pgrep -l python

Dies zeigt sowohl die PID als auch den Prozessnamen an.

Tipp: Verwendung von 'pgrep' mit regulären Ausdrücken

Sie können reguläre Ausdrücke mit 'pgrep' für eine präzisere Übereinstimmung verwenden. Um beispielsweise Python-Prozesse mit Versionsnummern zu finden:

pgrep -f "python23?"

Dies entspricht Prozessen wie "python3", "python3.8" oder "python2.7".

Kombination von 'pgrep' mit anderen Befehlen

Sie können 'pgrep' mit anderen Befehlen für weitere Operationen kombinieren. Hier einige Beispiele:

Um alle Python-Prozesse zu beenden:

pkill -f python

Um vollständige Befehlszeilen von Python-Prozessen zu sehen:

pgrep -af python

Um Python-Prozesse für einen bestimmten Benutzer aufzulisten:

pgrep -u benutzername python

Um laufende Python-Prozesse zu zählen:

pgrep python | wc -l

Um detaillierte Informationen über Python-Prozesse zu erhalten:

pgrep python | xargs ps -fp