Unter Linux wird eine laufende Instanz eines Programms Prozess genannt. Wenn Sie auf einem Linux-Rechner arbeiten, müssen Sie gelegentlich herausfinden, welche Prozesse gerade ausgeführt werden.
Es gibt eine Reihe von Befehlen, die Sie verwenden können, um Informationen über die laufenden Prozesse mit ps zu finden , pstree , und top die am häufigsten verwendeten sind.
Dieser Artikel erklärt, wie man ps verwendet Befehl, um die derzeit laufenden Prozesse aufzulisten und Informationen über diese Prozesse anzuzeigen.
Verwendung von ps Befehl #
Die allgemeine Syntax für ps Befehl lautet wie folgt:
ps [OPTIONS]
Aus historischen und Kompatibilitätsgründen ist die Datei ps Der Befehl akzeptiert mehrere verschiedene Arten von Optionen:
- UNIX-Stiloptionen, denen ein einzelner Bindestrich vorangestellt ist.
- BSD-Stiloptionen, ohne Bindestrich verwendet.
- GNU Long-Optionen, denen zwei Bindestriche vorangestellt sind.
Verschiedene Optionstypen können gemischt werden, aber in bestimmten Fällen können Konflikte auftreten, daher ist es am besten, bei einem Optionstyp zu bleiben.
BSD- und UNIX-Optionen können gruppiert werden.
In seiner einfachsten Form, wenn es ohne Option verwendet wird, ps gibt vier Spalten mit Informationen für mindestens zwei Prozesse aus, die in der aktuellen Shell laufen, die Shell selbst und die Prozesse, die in der Shell laufen, als der Befehl aufgerufen wurde.
ps
Die Ausgabe enthält Informationen über die Shell (bash ) und der in dieser Shell laufende Prozess (ps , der von Ihnen eingegebene Befehl):
PID TTY TIME CMD
1809 pts/0 00:00:00 bash
2043 pts/0 00:00:00 ps
Die vier Spalten sind mit PID beschriftet , TTY , TIME , und CMD .
PID- Die Prozess-ID. Normalerweise beim Ausführen vonpsBefehl ist die wichtigste Information, nach der der Benutzer sucht, die Prozess-PID. Wenn Sie die PID kennen, können Sie einen fehlerhaften Prozess beenden.TTY- Der Name des steuernden Terminals für den Prozess.TIME- Die kumulative CPU-Zeit des Prozesses, angezeigt in Minuten und Sekunden.CMD- Der Name des Befehls, der zum Starten des Prozesses verwendet wurde.
Die obige Ausgabe ist nicht sehr nützlich, da sie nicht viele Informationen enthält. Die wahre Kraft des ps Der Befehl kommt beim Start mit zusätzlichen Optionen.
Das ps Der Befehl akzeptiert eine große Anzahl von Optionen, die verwendet werden können, um eine bestimmte Gruppe von Prozessen und verschiedene Informationen über den Prozess anzuzeigen, aber im täglichen Gebrauch werden nur eine Handvoll benötigt.
ps wird am häufigsten mit der folgenden Kombination von Optionen verwendet:
BSD-Formular :
ps aux - Der
aOption teiltpsmit um die Prozesse aller Benutzer anzuzeigen. Nur die Prozesse, die keinem Terminal zugeordnet sind, und Prozesse von Gruppenleitern werden nicht angezeigt. usteht für ein anwenderorientiertes Format, das detaillierte Informationen zu den Prozessen bereitstellt.- Das
xOption weistpsan um die Prozesse ohne steuerndes Terminal aufzulisten. Das sind hauptsächlich Prozesse, die beim Booten gestartet werden und im Hintergrund laufen.
Der Befehl zeigt Informationen in elf Spalten mit der Bezeichnung USER an , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME , und CMD .
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 19:47 0:00 [kthreadd]
...
PID haben wir bereits erklärt , TTY , TIME und CMD Etiketten. Hier ist eine Erklärung anderer Labels:
USER- Der Benutzer, der den Prozess ausführt.%CPU- Die CPU-Auslastung des Prozesses.%MEM- Der Prozentsatz der Größe des residenten Satzes des Prozesses zum physischen Speicher auf der Maschine.VSZ- Virtuelle Speichergröße des Prozesses in KiB.RSS- Die Größe des physischen Speichers, den der Prozess verwendet.STAT- Der Prozesszustandscode, z. B.Z(Zombie),S(Schlafen) undR(läuft).START- Die Zeit, zu der der Befehl gestartet wurde.
Das f Option teilt ps mit um eine Baumansicht von Eltern-zu-Kind-Prozessen anzuzeigen:
ps auxf
Das ps Mit dem Befehl können Sie auch die Ausgabe sortieren. Um die Ausgabe beispielsweise nach der Speicherauslastung zu sortieren, würden Sie Folgendes verwenden:
ps aux --sort=-%mem UNIX-Formular :
ps -ef - Das
-eOption weistpsan um alle Prozesse anzuzeigen. - Das
-fsteht eine vollformatige Auflistung, die detaillierte Informationen zu den Prozessen gibt.
Der Befehl zeigt Informationen in acht Spalten mit der Bezeichnung UID an , PID , PPID , C , STIME , TIME , und CMD .
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 19:47 ? 00:00:01 /sbin/init
root 2 0 0 19:47 ? 00:00:00 [kthreadd]
...
Die nicht bereits erläuterten Bezeichnungen haben folgende Bedeutung:
UID- Gleich wieUSER, der Benutzer, der den Prozess ausführt.PPID- Die ID des übergeordneten Prozesses.C- Gleich wie%CPU, die CPU-Auslastung des Prozesses.STIME- Gleich wieSTART, die Zeit, zu der der Befehl gestartet wurde.
Um nur die Prozesse anzuzeigen, die unter einem bestimmten Benutzer ausgeführt werden, geben Sie den folgenden Befehl ein, wobei linuxize ist der Name des Benutzers:
ps -f -U linuxize -u linuxize Benutzerdefiniertes Format #
Das o Mit der Option können Sie angeben, welche Spalten angezeigt werden, wenn ps ausgeführt wird Befehl.
Zum Beispiel, um nur Informationen über die PID zu drucken und COMMAND , würden Sie einen der folgenden Befehle ausführen:
ps -efo pid,comm ps auxo pid,comm Mit ps Mit anderen Befehlen #
ps kann in Kombination mit anderen Befehlen durch Rohrleitungen verwendet werden.
Wenn Sie die Ausgabe von ps anzeigen möchten Befehl, eine Seite nach der anderen an less weiterleiten Befehl:
ps -ef | less
Die Ausgabe von ps Befehl kann mit grep gefiltert werden . Um beispielsweise nur den Prozess anzuzeigen, der dem Root-Benutzer gehört, würden Sie Folgendes ausführen:
ps -ef | grep root Schlussfolgerung #
Das ps Der Befehl ist einer der am häufigsten verwendeten Befehle bei der Behebung von Problemen auf Linux-Systemen. Es hat viele Optionen, aber normalerweise verwenden die meisten Benutzer entweder ps aux oder ps -ef um Informationen über laufende Prozesse zu sammeln.
Weitere Informationen zu ps , geben Sie man ps ein in Ihrem Terminal.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.