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:

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.