Powrót na stronę UNIX

Tematyka zadania: sygnały
Rodzaj sprawdzania: po zajęciach
Czas pisania: 90 minut
Sprawdzający: Marcin Borkowski
Oddanie zadania: do katalogu: /home2/samba/borkowskim/unix/

Napisz program tworzący 2 procesy, proces rodzic nazwijmy "root" a drugi z procesów to pierwsze "dziecko". Każdy proces potomny oczekuje na sygnały SIGINT, przy każdym takim sygnale z prawdopodobieństwem 25% tworzy nowy proces potomny. Nowy proces i jego rodzic wysyłają SIGRTMIN do procesu root'a.

Proces root w reakcji na SIGINT rozpoczyna zliczanie sygnałów SIGRTMIN, robi to tylko przez 0.5 sekundy. Wynik zliczania należy wypisać na ekran. Gdy licznik przekroczy wartość n, proces root i wszystkie procesy potomne muszą natychmiast zakończyć działanie.

Sygnały SIGINT generowane są zewnętrznie np.: poprzez kombinacje C-c z bash'a. Szybkie wysłanie kilku SIGINT po sobie może generować błędne wyniki.

Liczba 1<n<25 jest parametrem wywołania programu.

Szczególna uwagę zwracamy na:
Powrót na stronę UNIX