Powrót na stronę UNIX

Napisz program składający sie z ponumerowanych 1,2,...,n procesów. Proces o numerze 1 (rodzic) ma utworzyć proces 2, ten tworzy proces 3 itd. Proces nr 1 wysyła sygnał SIGUSR1 do procesu nr 2, ten losową ilość razy <1,10> wypisuje na ekran swój pid (bez \n). Pomiędzy wypisaniami występuje przerwa 0,1s. Po zakończeniu wypisywania k-ty proces wysyła sygnał SIGUSR1 do k+1 potomka itd. Proces o numerze n po wypisywaniu na ekran odwraca kolejność i wysyła sygnał SIGUSR2 do procesu n-1. Tu znowu następuje wypisywanie po czym wysyłany jest SIGUSR2 do procesu n-2 itd. Kiedy SIGUSR2 dotrze do procesu numer 1 ten poza standardowym wypisaniem rozpoczyna kolejny cykl (wysyła SIGUSR1 do nr 2) lub jeśli odbyło się już k takich cykli kończy cały program. Proces rodzic ma poczekać aż zakończą się procesy potomne. Programu nie można przerwać klawiszami C-c.

Liczby 1<n<10 i 1<k<10 są parametrami wywołania programu.

Zadanie będzie sprawdzane przez Marcina Borkowskiego, należy je wgrać do katalogu /home2/samba/borkowskim/unix/ .

Szczególna uwagę zwracamy na:

Powrót na stronę UNIX