4.1.4. Prozessinformationen anzeigen
Das ps command ist eines der Werkzeuge zur Visualisierung von Prozessen. Dieser Befehl verfügt über mehrere Optionen, die kombiniert werden können, um verschiedene Prozessattribute anzuzeigen.
Da keine Optionen angegeben sind, ps gibt nur Auskunft über die aktuelle Shell und eventuelle Prozesse:
theo:~> ps
PID TTY
4245 Punkte/7
5314 Punkte/7
ZEIT CMD
00:00:00 Bash
00:00:00 Ps
theo:~> ps
PID TTY
4245 Punkte/7
5314 Punkte/7
Da dies nicht genügend Informationen liefert – in der Regel laufen mindestens hundert Prozesse auf Ihrem System – wählen wir in der Regel bestimmte Prozesse aus der Liste aller Prozesse aus grep Befehl in a Rohr, siehe Abschnitt 5.1.2.1, wie in dieser Zeile, die alle Prozesse eines bestimmten Benutzers auswählt und anzeigt:
ps -wenn | grep Benutzername
In diesem Beispiel werden alle Prozesse mit dem Prozessnamen angezeigt bash, die häufigste Login-Shell auf Linux-Systemen:
theo:> ps auxw | grep bash
Brenda | 31970 | 0.0 | 0.3 | 6080 | 1556 | tt2 | S | Feb23 | 0:00 | -Schlag |
Wurzel | 32043 | 0.0 | 0.3 | 6112 | 1600 | tt4 | S | Feb23 | 0:00 | -Schlag |
theo | 32581 | 0.0 | 0.3 | 6384 | 1864 | Punkte/1 | S | Feb23 | 0:00 | bash |
theo | 32616 | 0.0 | 0.3 | 6396 | 1896 | Punkte/2 | S | Feb23 | 0:00 | bash |
theo | 32629 | 0.0 | 0.3 | 6380 | 1856 | Punkte/3 | S | Feb23 | 0:00 | bash |
theo | 2214 | 0.0 | 0.3 | 6412 | 1944 | Punkte/5 | S | 16:18 | 0:02 | bash |
theo | 4245 | 0.0 | 0.3 | 6392 | 1888 | Punkte/7 | S | 17:26 | 0:00 | bash |
theo | 5427 | 0.0 | 0.1 | 3720 | 548 | Punkte/7 | S | 19:22 | 0:00 | grep bash |
In diesen Fällen ist die grep Befehl zum Suchen nach Zeilen, die die Zeichenfolge enthalten bash wird oft auch auf Systemen angezeigt, die viel Leerlaufzeit haben. Wenn Sie nicht möchten, dass dies geschieht, verwenden Sie die pgrep Befehl.
Ein Sonderfall sind Bash-Shells: Diese Prozessliste zeigt auch, welche davon Login-Shells sind (bei denen Sie Ihren Benutzernamen und Ihr Passwort angeben müssen, z. B. wenn Sie sich im Textmodus anmelden oder eine Remote-Anmeldung durchführen).
Nicht-Login-Shells, die beispielsweise durch Klicken auf ein Terminalfenstersymbol gestartet werden). Solchen Login-Shells wird ein Bindestrich (-) vorangestellt.
|?
Wir erklären Ihnen das | Operator im nächsten Kapitel, siehe Kapitel 5.
Weitere Informationen finden Sie wie gewohnt: ps --help or Mann ps. GNU ps unterstützt verschiedene Arten von Optionsformaten; Die obigen Beispiele enthalten keine Fehler.
Beachten Sie, dass ps Gibt nur einen momentanen Zustand der aktiven Prozesse an, es handelt sich um eine einmalige Aufzeichnung. Der Top Das Programm zeigt eine genauere Ansicht an, indem es die von bereitgestellten Ergebnisse aktualisiert ps (mit einer Reihe von Optionen) einmal alle fünf Sekunden, wodurch in regelmäßigen Abständen eine neue Liste der Prozesse generiert wird, die die höchste Auslastung verursachen, und gleichzeitig weitere Informationen über den verwendeten Auslagerungsraum und den Zustand der CPU integriert werden proc Dateisystem:
12:40 Uhr, 9 Tage aktiv, 6:00 Uhr, 4 Benutzer, Lastdurchschnitt: 0.21, 0.11, 0.03
89 Prozesse: 86 im Ruhezustand, 3 in Betrieb, 0 Zombie, 0 gestoppt. CPU-Zustände: 2.5 % Benutzer, 1.7 % System, 0.0 % nett, 95.6 % im Leerlauf
12:40 Uhr, 9 Tage aktiv, 6:00 Uhr, 4 Benutzer, Lastdurchschnitt: 0.21, 0.11, 0.03
89 Prozesse: 86 im Ruhezustand, 3 in Betrieb, 0 Zombie, 0 gestoppt. CPU-Zustände: 2.5 % Benutzer, 1.7 % System, 0.0 % nett, 95.6 % im Leerlauf
Speicher: 255120K AV, 239412K genutzt, 15708K frei, 756K Shrd, 22620K Buff Swap: 1050176K AV, 76428K genutzt, 973748K frei, 82756K zwischengespeichert
PID | USER | PRI | NI | GRÖßE | RSS | TEILEN | STAT | %ZENTRALPROZESSOR | % MEM | ZEIT- | COMMAND |
5005 | Wurzel | 14 | 0 | 91572 | 15M | 11580 | R | 1.9 | 6.0 | 7:53 | X |
19599 | jeff | 14 | 0 | 1024 | 1024 | 796 | R | 1.1 | 0.4 | 0:01 | Top |
19100 | jeff | 9 | 0 | 5288 | 4948 | 3888 | R | 0.5 | 1.9 | 0:24 | Gnome-Terminal |
19328 | jeff | 9 | 0 | 37884 | 36M | 14724 | S | 0.5 | 14.8 | 1:30 | mozilla-bin |
1 | Wurzel | 8 | 0 | 516 | 472 | 464 | S | 0.0 | 0.1 | 0:06 | init |
2 | Wurzel | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:02 | keventd |
3 | Wurzel | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | kapm-idled |
4 | Wurzel | 19 | 19 | 0 | 0 | 0 | SWN | 0.0 | 0.0 | 0:00 | ksoftirqd_CPU0 |
5 | Wurzel | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:33 | kswapd |
6 | Wurzel | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | kreclaimed |
7 | Wurzel | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | bdflush |
8 | Wurzel | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:05 | kaktualisiert |
9 root -1-20 0 0 0 SW< 0.0 0.0 0:00 mdrecoveryd | |||||||||||
13 | Wurzel | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:01 | kjournald |
89 | Wurzel | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | khubd |
219 | Wurzel | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | kjournald |
220 | Wurzel | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | kjournald |
Die erste Zeile von Top enthält die gleichen Informationen, die von angezeigt werden Betriebszeit Befehl:
jeff:~> Betriebszeit
3:30 Uhr, 12 Tage aktiv, 23:29, 6 Benutzer, Auslastungsdurchschnitt: 0.01, 0.02, 0.00
jeff:~> Betriebszeit
3:30 Uhr, 12 Tage aktiv, 23:29, 6 Benutzer, Auslastungsdurchschnitt: 0.01, 0.02, 0.00
Die Daten für diese Programme werden unter anderem in gespeichert / var / run / utmp (Informationen über aktuell verbundene Benutzer) und im virtuellen Dateisystem / procZum Beispiel /proc/loadavg (Angabe zur durchschnittlichen Belastung). Es gibt alle möglichen grafischen Anwendungen zum Anzeigen dieser Daten, wie zum Beispiel den Gnome System Monitor und Lavaps. Bei FreshMeat und SourceForge finden Sie Dutzende Anwendungen, die diese Informationen zusammen mit anderen Serverdaten und Protokollen mehrerer Server auf einem (Web-)Server zentralisieren und so die Überwachung der gesamten IT-Infrastruktur von einem Arbeitsplatz aus ermöglichen.
Die Beziehungen zwischen Prozessen können mithilfe des visualisiert werden PStree Befehl:
sophie:~> PStree
init-+-amd
|-apmd
|-2*[artsd]
|-atd
|-crond
|-deskguide_apple
|-eth0
|-gdm---gdm-+-X
sophie:~> PStree
init-+-amd
|-apmd
|-2*[artsd]
|-atd
|-crond
|-deskguide_apple
|-eth0
|-gdm---gdm-+-X
|
|
|
`-gnome-session-+-Gnome
|-ssh-agent
`-wahr
|
|
|
|-geyes_applet
|-gkb_applet
|-gnome-name-serv
|-gnome-smproxy
|-gnome-terminal-+-bash---vim
|-geyes_applet
|-gkb_applet
|-gnome-name-serv
|-gnome-smproxy
|-gnome-terminal-+-bash---vim
|
|
|
|
|
|-gpm
|-gweather
|-kapm-idled
|-bash
|-bash---pstree
|-bash---ssh
|-bash---mozilla-bin---mozilla-bin---3*[mozilla-bin]
`-gnome-pty-helper
|
|
|
|
|
|-gpm
|-gweather
|-kapm-idled
|-3*[kdeinit]
|-keventd
|-khubd
|-5*[kjournald]
|-klogd
|-lockd---rpciod
|-lpd
|-mdrecoveryd
|-6*[mingetty]
|-8*[nfsd]
|-nscd---nscd---5*[nscd]
|-ntpd
|-3*[oafd]
|-Panel
|-portmap
|-rhnsd
|-rpc.mountd
|-rpc.rquotad
|-rpc.statd
|-Sägefisch
|-screenshooter_a
|-sendmail
|-sshd---sshd---bash---su---bash
|-syslogd
|-tasklist_applet
|-vmnet-bridge
|-xfs
`-xinetd-ipv6
|-3*[kdeinit]
|-keventd
|-khubd
|-5*[kjournald]
|-klogd
|-lockd---rpciod
|-lpd
|-mdrecoveryd
|-6*[mingetty]
|-8*[nfsd]
|-nscd---nscd---5*[nscd]
|-ntpd
|-3*[oafd]
|-Panel
|-portmap
|-rhnsd
|-rpc.mountd
|-rpc.rquotad
|-rpc.statd
|-Sägefisch
|-screenshooter_a
|-sendmail
|-sshd---sshd---bash---su---bash
|-syslogd
|-tasklist_applet
|-vmnet-bridge
|-xfs
`-xinetd-ipv6