Heim  >  Artikel  >  Web-Frontend  >  ps aux ausführliche Erklärung

ps aux ausführliche Erklärung

高洛峰
高洛峰Original
2017-02-14 10:30:055777Durchsuche

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 Gibt eine Terminalnummer an und listet den Status der zu diesem Terminal gehörenden Programme auf.
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)

R ausführbar (in der Ausführungswarteschlange)

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).

Verwenden Sie die Ausgabe im PS-Format, um den Prozessstatus anzuzeigen:

ps -eo user,stat..,cmd

Benutzername
uid-Benutzer Zahl

PID-Prozessnummer

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.

ps -eo pid, stat, pri, uid – uid sortieren


Sehen Sie sich an Benutzer, PID, Statistik, RSS, Argumente des aktuellen Systemprozesses, sortiert nach RSS.
ps -eo Benutzer, PID, Statistik, RSS, Argumente – RSS sortieren


Name : ps

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 PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

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;

u drücken Sie Benutzername und Startzeit um Prozesse in der Reihenfolge anzuzeigen;

f zeigt Prozesse im Baumformat an;
x zeigt Prozesse ohne gesteuertes Terminal an;
ww vermeidet das Abschneiden detaillierter Parameter;

Unsere häufig verwendeten Optionen sind die Kombination von aux oder lax und der Parameter f application.


Erklärung der ps aux- oder lax-Ausgabe
PID-Prozess-ID;
%CPU-Belegung durch den Prozess; 🎜>%MEM ist der Prozentsatz des belegten Speichers;

Der NICE-Wert des NI-Prozesses bedeutet, dass weniger CPU-Zeit belegt ist; TTY-Terminal-ID

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);

l Multiprozess (mit CLONE_THREAD, ähnlich). zu NPTL pthreads);

+ 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

[root@localhost ~]# more 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.

kill -9 -1

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn