Im Katalog suchen

Linux - Wegweiser zur Installation & Konfiguration, 3. Auflage

Online-Version

Copyright © 2000 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel

Prozesse

Unix basiert auf dem Konzept von Prozessen. Das Verständnis dieses Konzeptes wird Ihnen als Benutzer bei Ihren Login-Sitzungen helfen. Für den Systemverwalter ist dieses Konzept noch viel wichtiger.

Ein Prozeß ist ein unabhängig laufendes Programm, das seine eigenen Ressourcen verwaltet. Ein Beispiel: Wir haben in einem Abschnitt weiter oben gezeigt, wie Sie die Ausgaben eines Programms in eine Datei umleiten können, während die Shell weiterhin Meldungen auf Ihren Bildschirm bringt. Die Shell und das andere Programm können Ausgaben zu verschiedenen Zielen lenken, weil es eigenständige Prozesse sind.

Unter Unix werden die »endlichen« Systemressourcen, etwa der Arbeitsspeicher und die Festplatten, von einem wahrhaft allmächtigen Programm verwaltet - dem Kernel. Alles andere erledigen Prozesse.

Vor dem Einloggen wird Ihr Terminal von einem getty-Prozeß überwacht. Nach dem Einloggen stirbt dieser Prozeß (der Kernel startet einen neuen getty, wenn Sie sich ausloggen), und Ihr Terminal wird von der Shell gesteuert, einem weiteren Prozeß. Mit jedem Befehl, den Sie eingeben, startet die Shell wiederum einen neuen Prozeß. Diesen Vorgang nennt man forking (etwa: Verzweigung), weil aus einem Prozeß zwei entstehen.

Wenn Sie mit dem X Window System arbeiten, öffnet jeder Prozeß ein oder mehrere Fenster. Das Fenster, in dem Sie Ihre Befehle eingeben, wird also von einem xterm-Prozeß verwaltet. Dieser Prozeß zweigt in eine Shell ab, die in diesem Fenster läuft. Diese Shell wiederum zweigt für jeden Ihrer Befehle weitere Prozesse ab.

Mit dem Befehl ps lassen sich die Prozesse anzeigen, die derzeit aktiv sind. Abbildung 4-4 zeigt eine typische Ausgabe dieses Befehls sowie die Bedeutung der einzelnen Felder. Sie werden überrascht sein, wie viele Prozesse laufen; insbesondere, wenn Sie unter X arbeiten. Einer der Prozesse ist natürlich der Befehl ps selbst, der aber sofort nach der Anzeige der Daten stirbt.

Screenshot

Abbildung 4-4: Ausgabe des Befehls ps

Das erste Feld in der Ausgabe von ps zeigt die eindeutige ID-Nummer des Prozesses an. Falls ein Prozeß einmal aus der Rolle fällt und sich mit STRG-C oder anderen Mitteln nicht mehr abbrechen läßt, können Sie ihn von einer anderen Konsole aus oder in einem anderen X-Fenster mit diesem Befehl loswerden:

$ kill prozeß-id

Das Feld TTY zeigt, auf welchem Terminal der Prozeß läuft, wenn überhaupt. (Alles, was in einer Shell gestartet wird, läuft natürlich auf einem Terminal, aber die Dämonen im Hintergrund benutzen kein Terminal.)

Das Feld STAT zeigt den Status des Prozesses an. Die Shell ist derzeit angehalten (suspended), deshalb steht hier ein S. Die laufende Emacs-Sitzung wurde mit STRG-Z unterbrochen (temporary suspension) - das T im Feld STAT zeigt dies an. Der letzte Prozeß in der Liste ist ps, das diese Anzeige erzeugt hat. Sein Status ist natürlich R (running), weil dieser Prozeß gerade arbeitet.

Das Feld TIME zeigt die CPU-Zeit an, die die Prozesse bereits verbraucht haben. Da sowohl bash als auch Emacs interaktiv arbeiten, beanspruchen sie die CPU nur in geringem Maße.

Sie müssen sich nicht auf die Anzeige der eigenen Prozesse beschränken. Lassen Sie uns mit der Option a einen Blick auf alle Prozesse werfen und mit der Option x auch die Prozesse ohne Terminal anzeigen (etwa die Dämonen, die beim Booten gestartet werden):

$ ps ax | more

Jetzt sehen Sie auch die Dämonen, die wir im vorhergehenden Abschnitt erwähnt haben. Und hier, mit diesem atemberaubenden Ausblick auf ein komplettes Unix-System bei der Arbeit, wollen wir dieses Kapitel beenden (die Zeilen enden bei Spalte 76; wenn Sie die Ausgabe in ihrer vollen Pracht sehen möchten, können Sie die Option -w des Befehls ps verwenden).

at 724 0.0 0.2 824 348 ? S Mar 18 0:00 /usr/sbin/ bin 703 0.0 0.2 832 316 ? S Mar 18 0:00 /usr/sbin/ kalle 181 0.0 0.6 1512 856 1 S Mar 18 0:00 -bash kalle 230 0.0 0.4 1396 596 1 S Mar 18 0:00 sh /usr/X1 kalle 231 0.0 0.1 808 256 1 S Mar 18 0:00 tee /home/ kalle 234 0.0 0.4 1952 624 1 S Mar 18 0:00 xinit /hom kalle 238 0.0 0.4 1396 616 1 S Mar 18 0:00 sh /home/k kalle 242 0.0 3.8 6744 4876 1 S Mar 18 0:43 kwm kalle 246 0.0 3.3 6552 4272 1 S Mar 18 4:48 /usr/local kalle 255 0.0 0.0 0 0 1 Z Mar 18 0:00 kaudioserv kalle 256 0.0 3.0 6208 3844 1 S Mar 18 0:02 kwmsound kalle 257 0.0 5.1 8892 6596 1 S Mar 18 0:11 kfm kalle 258 0.0 3.3 6292 4320 1 S Mar 18 0:02 krootwm kalle 259 0.0 4.6 7848 5988 1 S Mar 18 0:37 kpanel kalle 260 0.0 3.6 6764 4688 1 S Mar 18 0:06 kbgndwm kalle 273 0.0 3.6 6732 4668 1 S Mar 18 0:08 kvt -resto kalle 274 0.0 3.6 6732 4668 1 S Mar 18 0:11 kvt -resto kalle 276 0.0 0.6 1536 892 p0 S Mar 18 0:00 bash kalle 277 0.0 0.6 1512 864 p1 S Mar 18 0:00 bash kalle 11752 0.1 9.8 14056 12604 1 S Mar 20 3:35 xemacs kalle 18738 0.2 16.4 26164 21088 1 S 01:14 1:03 netscape kalle 18739 0.0 2.6 14816 3392 1 S 01:14 0:00 (dns helpe kalle 29744 0.0 0.3 904 428 p0 R 09:24 0:00 ps -auxw root 1 0.0 0.2 820 292 ? S Mar 18 0:06 init [2] root 2 0.0 0.0 0 0 ? SW Mar 18 0:00 kflushd root 3 0.0 0.0 0 0 ? SW< Mar 18 0:00 kswapd root 8 0.0 0.2 804 264 ? S Mar 18 0:02 update (bd root 55 0.0 0.2 816 328 ? S Mar 18 0:00 /sbin/kern root 78 0.0 0.0 0 0 ? Z Mar 18 0:00 request-ro root 96 0.0 0.3 832 408 ? S Mar 18 0:00 /usr/sbin/ root 98 0.0 0.3 932 448 ? S Mar 18 0:00 /usr/sbin/ root 167 0.0 0.2 824 288 ? S Mar 18 0:00 /usr/bin/g root 182 0.0 0.6 1508 856 2 S Mar 18 0:00 -bash root 183 0.0 0.2 808 288 3 S Mar 18 0:00 /sbin/ming root 184 0.0 0.2 808 284 4 S Mar 18 0:00 /sbin/ming root 185 0.0 0.2 808 284 5 S Mar 18 0:00 /sbin/ming root 186 0.0 0.2 808 284 6 S Mar 18 0:00 /sbin/ming root 235 0.3 11.8 25292 15196 ? S Mar 18 19:19 /usr/X11R6 root 682 0.0 0.4 1076 556 ? S Mar 18 0:00 /usr/sbin/ root 684 0.0 0.3 948 484 ? S Mar 18 0:00 /usr/sbin/ root 707 0.0 0.3 860 440 ? S Mar 18 0:00 /usr/sbin/ root 709 0.0 0.3 896 452 ? S Mar 18 0:00 /usr/sbin/ root 712 0.0 0.5 1212 668 ? S Mar 18 0:00 /usr/sbin/ root 727 0.0 0.2 840 356 ? S Mar 18 0:00 /usr/sbin/ root 733 0.0 0.2 820 304 ? S Mar 18 0:00 /usr/sbin/ root 737 0.0 0.2 836 316 ? S Mar 18 0:00 /usr/sbin/ root 745 0.0 0.5 1204 708 ? S Mar 18 0:00 sendmail: root 752 0.0 0.4 1772 592 ? S Mar 18 0:00 /opt/appli wwwrun 718 0.0 0.5 1212 668 ? S Mar 18 0:00 /usr/sbin/ wwwrun 719 0.0 0.5 1212 652 ? S Mar 18 0:00 /usr/sbin/ wwwrun 720 0.0 0.5 1212 644 ? S Mar 18 0:00 /usr/sbin/ wwwrun 721 0.0 0.5 1212 644 ? S Mar 18 0:00 /usr/sbin/ wwwrun 722 0.0 0.5 1212 644 ? S Mar 18 0:00 /usr/sbin/


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen | Kontaktieren Sie uns
International | Über O'Reilly | Tochterfirmen

© 2000, O'Reilly Verlag