Überblick über ps
`ps`-Befehl ist ein 'Snapshot'-Werkzeug, das die Prozessinformationen zu einem bestimmten Zeitpunkt anzeigt. Im Gegensatz zu `top` oder `htop`, die in Echtzeit aktualisiert werden, gibt es nur die Informationen zum Zeitpunkt der Ausführung des Befehls aus. Dies ist nützlich, um zu erkennen, welche Aufgaben derzeit im System ausgeführt werden.
Hauptfunktionen von ps
`ps`-Befehl wird hauptsächlich für die folgenden Zwecke verwendet:
Hauptanwendungsgebiete
- Aktive Prozesse überprüfen: Ermitteln, welche Programme oder Dienste derzeit im System aktiv sind.
- Prozess-ID (PID) finden: Finden Sie die PID des betreffenden Prozesses, um diesen zu beenden oder zu steuern.
- Prozessstatus überprüfen: Überprüfen, ob der Prozess aktiv, wartend oder im Zombie-Zustand ist.
- CPU- und Speicherauslastung überprüfen: Überblick über die Ressourceninformationen, die jeder Prozess verwendet.
- Skripte debuggen: Überprüfen Sie den Status von Skripten oder Programmen, die im Hintergrund ausgeführt werden.
Verständnis der ps-Ausgabespalten
`ps`-Befehl zeigt normalerweise die folgenden Informationen an:
Wichtige Ausgabespalten
- **PID**: Prozess-ID. Eine eindeutige Kennung für jeden Prozess.
- **TTY**: Das Terminal (tty), auf dem der Prozess ausgeführt wird. `?` bedeutet, dass der Prozess nicht mit einem Terminal verbunden ist (Daemon).
- **TIME**: Die gesamte CPU-Zeit, die der Prozess verwendet hat.
- **CMD**: Der Befehl, der zum Starten des Prozesses verwendet wurde.
- **STAT**: Der aktuelle Statuscode des Prozesses (z.B. `R` - laufend, `S` - schlafend, `Z` - Zombie, `D` - nicht unterbrechbarer Schlaf, `T` - gestoppt, `<` - hohe Priorität, `N` - niedrige Priorität, `s` - Sitzungsleiter, `l` - mehrstufig, `+` - gehört zur Vordergrundprozessgruppe).
- **USER**: Der Benutzername, der den Prozess gestartet hat.
- **%CPU**: Die CPU-Auslastung, die der Prozess verwendet.
- **%MEM**: Die physische Speicherauslastung (RAM), die der Prozess verwendet.
- **VSZ (Virtuelle Speichermenge)**: Die gesamte virtuelle Speichermenge, die der Prozess verwendet.
- **RSS (Resident Set Size)**: Die Menge, die der Prozess tatsächlich im physischen Speicher (RAM) hält.
Wichtige ps-Befehlsoptionen
`ps`-Befehl bietet eine Vielzahl von Optionen und wird hauptsächlich in drei Stilen unterteilt: Unix-Stil, BSD-Stil und GNU-Stil. Hier werden die am häufigsten verwendeten Optionen behandelt.
1. Prozessauswahloptionen (BSD/Unix-Stil)
2. Ausgabeformatoptionen
3. Prozessbaum und Threads
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`ps` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Beispielanwendungen
`ps`-Befehl bietet verschiedene Anwendungsbeispiele, um den Prozessstatus des Systems effektiv abzufragen und zu analysieren.
Alle Prozesse im aktuellen Terminal abfragen
ps
Zeigt eine einfache Liste der Prozesse an, die im aktuell angemeldeten Terminal (Shell) ausgeführt werden.
Detaillierte Informationen zu allen Benutzerprozessen abfragen
ps aux
Gibt detaillierte Informationen zu den Prozessen aller Benutzer (a) aus, einschließlich der Prozesse, die nicht mit einem Terminal verbunden sind (x). Dies ist die am häufigsten verwendete Kombination.
Alle Prozesse im Baumformat abfragen
ps -ef
Visualisiert alle Prozesse in einer Baumstruktur mit Eltern-Kind-Beziehungen. Nützlich, um die Struktur der Systemprozesse zu verstehen.
Informationen zu einem bestimmten Prozess (z.B. Nginx) abfragen
ps aux | grep nginx
Filtert die Ergebnisse von `ps aux`, um nur die Prozesse anzuzeigen, die den String `nginx` enthalten. Nützlich, um den Status des Nginx-Servers zu überprüfen.
Die 10 Prozesse mit der höchsten CPU-Auslastung abfragen
ps aux --sort -%cpu | head -n 10
Sortiert alle Prozesse nach CPU-Auslastung in absteigender Reihenfolge und gibt nur die obersten 10 aus. Nützlich, um Prozesse zu identifizieren, die viele Systemressourcen verbrauchen.
Nur bestimmte Spalten auswählen und ausgeben
ps -eo pid,user,%cpu,%mem,cmd
Gibt nur die PID, den Benutzernamen, die CPU-Auslastung, die Speicherauslastung und die Befehlszeile des Prozesses aus. Nützlich, um nur die benötigten Informationen kompakt anzuzeigen.
Zombie-Prozesse finden
ps aux | grep 'Z'
Sucht nach Prozessen mit dem Status (STAT) 'Z' und diagnostiziert die Ursachen für die Verschwendung von Systemressourcen.