Heim > Artikel > Web-Frontend > ps aux ausführliche Erklärung
ps aux
Von anderen Benutzern gestartete Prozesse anzeigen (a)
Eigene Prozesse im System anzeigen (x)
Der Benutzer, der diesen Prozess gestartet hat, und die Uhrzeit gestartet ( u)
Verwenden Sie den Befehl „date -s“, um die Systemzeit zu ändern
Der Befehl zum Einstellen der Systemzeit auf den 10. Juni 1996 lautet beispielsweise wie folgt .
#date -s 06/10/96
Der Befehl zum Einstellen der Systemzeit auf 13:12:00 Uhr lautet wie folgt.
#Datum -s 13:12:00
-------------------------------- ---------
BENUTZER-PID %CPU %MEM VSZ RSS TTY STAT STARTZEIT
BEFEHL
Wurzel 1
0,0 0,0 1340 440
?
S Nov05 0:04
init
root 2
0,0 0,0
0
0
? SW Nov05
0:00 [keventd]
root 3
0,0 0,0
0
0 ?
SW Nov05 0:00 [keventd]
...
--------------------------------- ---------------------
Das USER-Feld gibt an, welcher Benutzer diesen Befehl gestartet hat;
Benutzer können die Nutzung eines bestimmten Prozesses überprüfen. Wie viele CPUs;
Speichernutzung und ihre VSZ (virtuelle Speichergröße) und RSS (residente Satzgröße):
VSZ gibt an, wie viel Speicherplatz ein Programm belegen muss, wenn es vollständig im Speicher resident ist;
RSS gibt an zeigt an, wie viel Speicher derzeit tatsächlich belegt ist;
STAT zeigt den aktuellen Status des Prozesses an:
„S“: Der Prozess befindet sich in einem Ruhezustand, was darauf hinweist, dass diese Prozesse auf das Eintreten bestimmter Ereignisse warten – möglicherweise Benutzer Eingabe- oder Systemressourcen.
Der letzte Befehl kann Systemanmeldeereignisse effektiv anzeigen.
Nachdem ein Prozess Exit aufgerufen hat, verschwindet der Prozess nicht sofort, sondern bleibt A-Daten Struktur, die als Zombie-Prozess (Zombie) bezeichnet wird. Unter den 5 Zuständen von Linux-Prozessen sind Zombie-Prozesse Es handelt sich um eine ganz besondere Art, die fast den gesamten Speicherplatz aufgibt, keinen ausführbaren Code enthält und nicht geplant werden kann. Sie reserviert lediglich eine Position in der Prozessliste, um den Exit-Status und andere Informationen des Prozesses für andere aufzuzeichnen Zwecke. Prozesssammlung, außer dass Zombie-Prozesse keinen Speicherplatz mehr belegen.
Die Funktion des Exit-Systemaufrufs besteht darin, den Prozess zu beenden, aber er beschränkt sich nur darauf, einen normalen Prozess in einen Zombie-Prozess umzuwandeln, und kann ihn nicht vollständig zerstören.
Sobald ein Prozess „wait“ aufruft, blockiert er sich automatisch, ob ein untergeordneter Prozess des aktuellen Prozesses beendet wurde. Wenn er einen solchen untergeordneten Prozess findet, der zu einem Zombie geworden ist, warten
Es sammelt die Informationen dieses Unterprozesses, zerstört sie vollständig und kehrt zurück. Wenn kein solcher Unterprozess gefunden wird, wird hier gewartet, bis einer erscheint.
STAT-Erklärung erneut in der ps aux-Sammlung veröffentlichen
Führen Sie ps aux aus, um die folgenden Informationen zu erhalten:
ps aux
USER
PID %CPU %MEM
VSZ RSS
TTY
STAT START TIME COMMAND
smmsp 3521
0,0
0,7
6556
1616
?
SS
20:40 0:00 sendmail: Queue runner@01:00:00 f
root
3532
0,0
0,2
2428
452
?
SS
20:40 0:00 gpm -m /dev/input/mice -t imps2
htt
3563
0,0
0,0
2956
196
?
SS
20:41 0:00 /usr/sbin/htt -retryonerror 0
htt
3564
0,0
1,7 29460
3704
?
Sl
20:41 0:00 htt_server -nodaemon
root
3574
0,0
0,4
5236
992
?
SS
20:41 0:00 crond
xfs
3617
0,0
1,3 13572
2804
?
SS
20:41 0:00 xfs -droppriv -daemon
root
3627
0,0
0,2
3448
552
?
SNs
20:41 0:00 anacron -s
root
3636
0,0
0,1
2304
420
?
SS
20:41 0:00 /usr/sbin/atd
dbus
3655
0,0
0,5 13840
1084
?
SSL
20:41 0:00 dbus-daemon-1 --system
............................. ...
Die Parameter in stat haben folgende Bedeutung:
D Unterbrechungsfrei (normalerweise
IO)
R Wird ausgeführt oder Prozess in der Warteschlange
S Schlafend
T Gestoppt oder verfolgt
Z Zombie-Prozess
W Beginnt mit dem Speicheraustausch (ungültig ab Kernel 2.6)
X Toter Prozess
< Hohe Priorität
n Niedrige Priorität
s enthält untergeordnete Prozesse
+ Prozessgruppe im Hintergrund
======================== = ============
ps-Befehl
Um den Prozess zu überwachen und zu steuern, müssen Sie zunächst die Situation des aktuellen Prozesses verstehen, das heißt, Sie müssen den aktuellen Prozess anzeigen, und der ps-Befehl ist der grundlegendste und auch sehr leistungsfähigste Prozess Anzeigebefehl. Verwenden Sie diesen Befehl
Bestimmen Sie, welche Prozesse ausgeführt werden und welchen Status sie haben, ob der Prozess beendet ist, ob der Prozess Zombies hat, welche Prozesse zu viele Ressourcen beanspruchen usw. Kurz gesagt, die meisten Informationen können durch Ausführen dieses Befehls
ps abgerufen werden Die am häufigsten verwendete Methode ist die Überwachung des Arbeitsstatus des Hintergrundprozesses, da der Hintergrundprozess nicht mit Standard-Eingabe-/Ausgabegeräten wie der Bildschirmtastatur kommuniziert. Wenn Sie also seine Situation erkennen müssen, können Sie den Befehl ps verwenden .
1) ps a zeigt alle Programme unter dem aktuellen Terminal an, einschließlich der Programme anderer Benutzer.
2) ps -A zeigt alle Programme an.
3) Wenn ps c Programme auflistet, zeigen Sie den tatsächlichen Befehlsnamen jedes Programms an, ohne den Pfad, die Parameter oder die Identifizierung der residenten Dienste anzugeben.
4) ps -e Die Wirkung dieses Parameters ist dieselbe wie die Angabe des Parameters „A“.
5) Wenn ps e Programme auflistet, zeigen Sie die von jedem Programm verwendeten Umgebungsvariablen an.
6) ps f verwendet ASCII-Zeichen, um die Baumstruktur anzuzeigen und die Beziehung zwischen Programmen auszudrücken.
7) ps -H zeigt eine Baumstruktur an, die die Beziehung zwischen Programmen angibt.
8) ps -N zeigt alle Programme an, mit Ausnahme der Programme unter dem Terminal, die den ps-Befehl ausführen.
9) ps s verwendet das Programmsignalformat, um den Programmstatus anzuzeigen.
10) ps S berücksichtigt unterbrochene Unterprogramminformationen beim Auflisten von Programmen.
11) ps -t
12) ps u Zeigt den Programmstatus im benutzerorientierten Format an.
13) ps x Zeigt alle Programme an, nicht nach Terminal unterschieden.
Die am häufigsten verwendete Methode ist ps -aux. Verwenden Sie dann ein Pipe-Symbol, um grep anzuweisen, einen bestimmten Prozess zu finden, und bearbeiten Sie dann den spezifischen Prozess.
Es gibt 5 Zustände von Prozessen unter Linux:
1. Läuft (läuft oder wartet in der Ausführungswarteschlange)
Unterbrochen (ruhend, blockiert, wartend) Der Bildung eines bestimmten Zustands oder Empfang eines Signals)
3. Ununterbrochen (das Signal wird nicht aktiviert und kann nicht ausgeführt werden, der Prozess muss warten, bis eine Unterbrechung auftritt)
4 beendet, aber der Prozessdeskriptor existiert, bis der übergeordnete Prozess den Systemaufruf wait4() aufruft und freigegeben wird 5 Arten von PS-Tool-Identifizierungsprozessen Statuscode:
D unterbrechungsfreier Ruhezustand (normalerweise IO)
S Unterbrechung im Ruhezustand
T Stopp verfolgt oder gestoppt
Z Zombie a Nicht mehr existierender („Zombie“)-Prozess
Hinweis: Andere Zustände sind W (keine residente Seite), <(Prozess mit hoher Priorität), N (Prozess mit niedriger Priorität),
L (Speichersperrseite).
ps -eo user,stat..,cmd
Benutzername
uid-Benutzer Zahl
PPID-Nummer des übergeordneten Prozesses
Größe des Speichers, Kbytes Bytes.
vsize Gesamtgröße des virtuellen Speichers, Bytes Bytes (einschließlich Code+Daten+Stack)
Gesamtfreigabeanzahl Anzahl der Seiten
Nice-Prozesspriorität (Standard ist 0, Maximum ist -20)
priority(pri) Kernel-Scheduling-Priorität
pmem-Prozentsatz des vom Prozess gemeinsam genutzten physischen Speichers
trs-Programmausführungscode Residenzgröße
rss Der gesamte vom Prozess verwendete physische Speicher, Kbytes Bytes
time Die gesamte temporäre CPU-Zeit seit der Ausführung des Prozesses
stat Prozessstatus
cmd(args) Einfaches Befehlsausführungsformat
Beispiel:
Uid, pid, stat, pri des aktuellen Systemprozesses anzeigen, sortiert nach UID-Nummer.
Sehen Sie sich an Benutzer, PID, Statistik, RSS, Argumente des aktuellen Systemprozesses, sortiert nach RSS.
ps -eo Benutzer, PID, Statistik, RSS, Argumente – RSS sortieren
Nutzungserlaubnis: alle Benutzer
Nutzungsmethode: ps [Optionen] [--help]Beschreibung: Zeigt die Dynamik der momentanen Reise (des Prozesses) an
Parameter:
ps Da Hier listen wir nur einige häufig verwendete Parameter auf und stellen deren Bedeutung kurz vor
-A Alle Reiserouten auflisten
-w Anzeige verbreitert, um mehr Informationen anzuzeigen
-au Anzeige größer Detaillierte Informationen
- aux zeigt alle Reiserouten an, die andere Benutzer enthalten
au(x) Ausgabeformat:
USER: Trip Owner
PID: pid%CPU: CPU-Auslastung belegt
%MEM: Speicherauslastung belegt
VSZ: Virtuelle Speichergröße belegt
RSS: Speichergröße belegt
TTY: Untergeordnete Gerätenummer des TTY des Terminal
STAT: Status der Reise:
D: Unterbrechungsfreie Statik
R: Ausführungsmedium
S: Ruhezustand
T: Ausgesetzte Ausführung
Z: Existiert nicht, kann aber nicht sein vorübergehend beseitigt
W: Nicht genügend Speicher-Paging zum Zuordnen
<: Reiseroute mit hoher Priorität
N: Reise mit niedriger Priorität
L: Speicherseitenzuweisung und im Speicher gesperrt
START: Reisebeginn Zeit
ZEIT: Ausführungszeit
BEFEHL: Befehl ausgeführt
Beispiel:
ps
PID TTY TIME CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kpiod
5 ? 00:00: 00 mdrecoveryd
.....
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [ 3]
root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
.....
Um den Prozess zu überwachen und zu steuern, müssen Sie zunächst die Situation des aktuellen Prozesses verstehen, das heißt, Sie müssen den aktuellen Prozess anzeigen, und ps
Der Befehl ist der einfachste, aber auch sehr leistungsstarke Befehl zur Prozessanzeige. Verwenden Sie diesen Befehl, um zu ermitteln, welche Prozesse ausgeführt werden und welchen Status sie haben, ob der Prozess beendet wurde, ob der Prozess gestorben ist, welche Prozesse zu viele Ressourcen belegen usw. Kurz gesagt, die meisten Informationen können durch Ausführen dieses Befehls abgerufen werden.
ps bietet uns eine einmalige Ansicht des Prozesses, aber die angezeigten Ergebnisse sind nicht dynamisch und kontinuierlich; wenn Sie die Prozesszeit überwachen möchten, sollten Sie das Top-Tool verwenden.
kill wird verwendet, um den Prozess abzubrechen.
1. Parameterbeschreibung von ps
ps bietet viele Optionsparameter, die folgenden werden häufig verwendet:
l lange Formatausgabe;
f zeigt Prozesse im Baumformat an;
x zeigt Prozesse ohne gesteuertes Terminal an;
ww vermeidet das Abschneiden detaillierter Parameter;
Erklärung der ps aux- oder lax-Ausgabe
PID-Prozess-ID;
%CPU-Belegung durch den Prozess; 🎜>%MEM ist der Prozentsatz des belegten Speichers;
STAT-Prozessstatus (es gibt die folgenden Typen)
D Ununterbrechbarer Ruhezustand (normalerweise IO-Prozess);
S ist im Ruhezustand ;
T wird gestoppt oder verfolgt;
W tritt in den Speicheraustausch ein (ungültig seit Kernel 2.6);
X toter Prozess (nie gesehen);
Z Zombie-Prozess;
< Prozess mit hoher Priorität
N Prozess mit niedrigerer Priorität
L Einige Seiten sind im Speicher gesperrt;
s Prozessleiter (darin befinden sich untergeordnete Prozesse);
+ Prozessgruppe im Hintergrund;
START startet den Prozess und Parameter;
3. Anwendungsbeispiele
[root@localhost ~]# ps -aux |more
Sie können | verwenden, um eine Verbindung herzustellen.
[root@localhost ~]# ps -aux > ps001.txt
Hier werden alle Prozesse angezeigt und in die Datei ps001.txt ausgegeben , und verwenden Sie dann mehr, um es in Seiten anzuzeigen.
4. Kill beendet den Prozess
Es gibt mehr als ein Dutzend Möglichkeiten, den Prozess zu steuern:
kill -STOP [pid]
Senden Sie SIGSTOP (17 ,19,23 ) stoppt einen Prozess, ohne ihn zu beenden.
kill -CONT [pid]
Senden Sie SIGCONT (19,18,25), um einen gestoppten Prozess neu zu starten.
kill -KILL [pid]
Senden Sie SIGKILL (9), um den Prozess zum sofortigen Stoppen zu zwingen und keine Bereinigungsvorgänge durchzuführen.
Töte alle Prozesse, die du besitzt.
SIGKILL- und SIGSTOP-Signale können nicht abgefangen, blockiert oder ignoriert werden, andere Signale jedoch schon. Das ist also Ihre ultimative Waffe.
Ausführlichere Erklärungen zu ps aux und verwandten Artikeln finden Sie auf der chinesischen PHP-Website!