Universität Ulm -Sektion Angewandte Informationsverarbeitung
2.Übungsblatt (27.04.99 bis 06.05.99)
zur Vorlesung Systemnahe Software II (SS 99)
Es gibt zwei nette UNIX-Kommandos: nice ist nett zu den anderen und nohup nett zu Ihnen. Nice
erniedrigt die Priorität im Betriebssystem, mit der ein Prozeß abläuft. nice -20 longrun & würde z.B.
dafür sorgen, daß das Kommando longrun mit sehr niedriger Priorität (im Hintergrund) läuft und damit
den Rechnerbetrieb für die anderen weniger stört.
Mit nohup longrun & kann man erreichen, daß das Kommando longrun auch dann weiterläuft, wenn
man sich vom Rechner (Terminal/SUN) abmeldet. Normalerweise erhalten alle am Terminal laufenden
Prozesse beim Abmelden das Signal 1 (SIGHUP) und werden damit beendet, wenn sie dieses Signal nicht
abfangen.
Genaueres: man nice und man nohup.
Aufgabe 1 (6 Punkte)
Schreiben Sie das freundliche Hintergrundabmeldeimmunkommando bgnicehup.c, das die folgende
drei Aufgaben in sich vereint:
-
ein via bgnicehup cmd gestartetes Kommando läuft grundsätzlich im Hintergrund ab (so als ob es
mit cmd & gestartet worden wäre)
-
bgnicehup cmd erniedrigt die Ausführpriorität des Kommandos cmd um 10 (man -s 2 nice)
-
ein mit bgnicehup cmd ausgeführtes Kommando cmd ist gegen das Abmelden vom Terminal immun
Aufgabe 2 (3 Punkte)
Damit die Sache mit dem Abmelden vom Terminal richtig Sinn macht, sollten Standardausgabe und
Standarderror des Kommandos cmd jeweils in die Dateien nohup.out und nophup.err umgelenkt
werden (Soft I Skript S. 210 oder man -s 2 open bzw. man -s 2 dup oder ein bischen Gehirnschmalz).
Aufgabe 3 (1 Punkt)
Testen Sie ihr Programm, indem Sie ein Kommando übergeben, das sowohl auf stderr wie auch auf
stdout eine Ausgabe produziert, die dann in nohup.out und nohup.err landen. Schauen Sie sich mit
ps -l die Ausführpriorität des mit bgnicehup gestarteten Kommandos an (Spalte "NI").
Aufgabe 4 (1 virt. Gummiente)
Bereiten Sie sich auf Ihren späteren Job vor, indem Sie Flexibilität zeigen! Denn:
am Di. 4.5.99 und Di.11.5.99 sind Vorlesung, am Do. 6.5.99 und Di. 18.5.99 Übungen. Danach
(wahrscheinlich) wieder wie angekündigt Dienstags Übungen und Donnerstags Vorlesung.