Technische Praxis der Computersysteme Teil 1 - Universität Wien
Technische Praxis der Computersysteme Teil 1 - Universität Wien
Technische Praxis der Computersysteme Teil 1 - Universität Wien
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
6.3 Prozeßkontrolle 6 BENUTZUNG 2<br />
Benutzerumgebung<br />
beim Einloggen werden folgenden Dateien abgearbeitet:<br />
– /etc/profile<br />
– $HOME/.bash\_profile<br />
– $HOME/.bashrc<br />
– /etc/bashrc<br />
beim Ausloggen:<br />
– $HOME/.bash\_logout<br />
systemweite Einstellungen in /etc/<br />
benutzerspezifische Einstellungen in $HOME<br />
Folie 98<br />
Hat man z.B. rm als Alias für rm -i gesetzt, was durchaus empfehlenswert ist, so kann<br />
man das Kommando rm normal ausführen, wenn man den ganzen Pfad angibt; in diesem Fall<br />
wird also mit /bin/rm die Rückfrage, ob das File wirklich gelöscht werden soll, unterdrückt.<br />
Seine Aliases definiert man sinnvollerweise nicht in je<strong>der</strong> Session neu, son<strong>der</strong>n speichert<br />
sie in $HOME/.bashrc ab. Dann stehen sie immer zur Verfügung. Falls man seinen Suchpfad<br />
dauerhaft abän<strong>der</strong>n will, so empfiehlt es sich auch, die entsprechende Definition in <strong>der</strong><br />
.bashrc abzulegen.<br />
6.3 Prozeßkontrolle<br />
Wie wir bereits (aus Kapitel 0) wissen, ist ein Prozeß ein laufendes Programm; vom System<br />
werden ihm verschiedene Ressourcen zur Verfügung gestellt und verschiedene Rechte eingeräumt.<br />
Etwas detaillierter verfügt ein Prozeß über eine Prozeßumgebung; ihre wichtigsten<br />
Bestandteile sind auf Folie 99 aufgelistet, Folie 100 zeigt ein Beispiel.<br />
Prozesse werden systemintern über eine eindeutige Nummer, die Prozeß ID (PID) identifiziert,<br />
die beim Prozeßstart vom Kernel vergeben wird. Prozesse existieren in einer Eltern-<br />
Kind Hierarchie. Startet ein Prozeß einen neuen, so ist dieser sein Child-Prozeß; umgekehrt<br />
ist <strong>der</strong> Ursprüngliche Prozeß <strong>der</strong> Parent-Prozeß (wichtiges Bsp: Subshell).<br />
Aus einer Shell kann man neue Prozesse auf verschiedene Arten aufrufen. Man kann sie<br />
im Vor<strong>der</strong>grund starten, so wie wir das bisher immer getan haben, wir können sie aber auch<br />
im Hintergrund starten; dann bleibt die Shell für weitere Eingaben frei. Sinnvoll ist das vor<br />
allem, wenn wir aus einer Shell o<strong>der</strong> einer Terminal Emulation Programme aufrufen, die<br />
dann auf einem GUI laufen (z.B. netscape). Die Syntax ist auf Folie 101 erklärt.<br />
Informationen über die Umgebung laufen<strong>der</strong> Prozesse können mit ps abgefragt werden,<br />
ps aux zeigt z.B. alle am System laufenden Prozesse an. Die Porzeßhierarchie kann mittels<br />
pstree angezeigt werden. Mit dem Kommando kill [- signal] PID können Signale an<br />
einen Prozeß geschickt werden, um diesen (vor allem—wie schon zu vermuten war—) zu<br />
beenden. Weiters können Prozesse vom Vor<strong>der</strong>grund in den Hintergrund beför<strong>der</strong>t werden<br />
und vice versa. Die Folien 102, 103 geben Auskunft über die Syntax <strong>der</strong> entsprechenden<br />
Befehle.<br />
Schließlich erwähnen wir an dieser Stelle die sogenannten Daemons (Disk And Execution<br />
MONitors); diese sind Prozesse, die dauerhaft im Hintergrund laufen und wichtige System-<br />
85