Nicht angemeldet. · Kennwort vergessen · Registrieren

Markus A
Mitglied seit 04/2011
5 Beiträge
Betreff: SPIC Aufgabe 8
Hi,
ich habe zwei Fragen zur aktuellen Spic-Aufgabe:

- Auf Folie 8.5 heißt es, dass während der Ausführung des Signalhandlers das auslösende Signal blockiert wird. Geschieht das automatisch oder muss man das manuell machen?
- Auf Folie 8.12 wird das Warten in kritischen Abschnitten beschrieben. Gibt es solche Abschnitte in der Aufgabe?

Vielen Dank
sicherha
Informatik-Veteran
Mitglied seit 10/2010
53 Beiträge
Zitat von Markus A:
- Auf Folie 8.5 heißt es, dass während der Ausführung des Signalhandlers das auslösende Signal blockiert wird. Geschieht das automatisch oder muss man das manuell machen?
Das geschieht automatisch. Nur wenn man weitere Signale blockieren will, muss man beim Einrichten der Signalbehandlung die Maske entsprechend anpassen.

Zitat von Markus A:
- Auf Folie 8.12 wird das Warten in kritischen Abschnitten beschrieben. Gibt es solche Abschnitte in der Aufgabe?
Nein. Es gibt zwar einen kritischen Abschnitt, in dem eine Operation atomar durchgeführt werden muss, aber es ist nirgendwo nötig, auf ein von außen ausgelöstes Ereignis zu warten.
Steve91
Mitglied seit 02/2011
2 Beiträge
Betreff: kill - Fkt.
In der dazugehörigen Übung auf Seite 6:

int kill(pid_t pid, int signo);

Wäre es in der Aufgabe tbsh.c möglich gewesen, den Kindprozess explizit mit diesem Befehl zu "killen"??
Für mich bestand das Hauptproblem darin, überhaupt die PID des Kindes richtig zu bestimmen.

Vielen Dank schon einmal!
sicherha
Informatik-Veteran
Mitglied seit 10/2010
53 Beiträge
Warum würdest du das denn tun wollen? Der Kindprozess soll doch einfach nur das Programm ausführen, das der Benutzer in die Befehlszeile eingetippt hat.

Welche ID ein neu erzeugter Prozess hat, findet die Shell über den Rückgabewert von fork() heraus.
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
Zitat von sicherha:
Warum würdest du das denn tun wollen? Der Kindprozess soll doch einfach nur das Programm ausführen, das der Benutzer in die Befehlszeile eingetippt hat.

...weil es die ssh (speed shell) ist, die sicherstellt, dass ein Prozess maximal 20 sek läuft. ;)
Schließen Kleiner – Größer + Auf diesen Beitrag antworten:
Prüfcode: VeriCode Gib bitte das Wort aus dem Bild ins folgende Textfeld ein. (Nur die Buchstaben eingeben, Kleinschreibung ist in Ordnung.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O :troll:
Weitere Zeichen:
Gehe zu Forum
Powered by the Unclassified NewsBoard software, 20110527-dev, © 2003-8 by Yves Goergen