Programowanie procesów - komunikacja przez potoki

Zad.1. (6 punktów - na zajęciach)

Napisz program, który:

Zad.2. (4 punkty - na zajęciach, lub 2 punkty - w domu)

Zmodyfikuj program z punktu 1 tak aby:

Uruchom program i sprawdź, czy proces potomny zacznie wyświetlać obrazek od razu, czy dopiero po zamknięciu potoku przez proces nadrzędny.

Jako program wyświetlający obrazki można zastosować między innymi programy:

Zad.3. (4 punkty - w domu)

Zmodyfikuj program z punktu 1 w taki sposób, by wykorzystując potok nazwany (FIFO) był w stanie wysyłać do tego potoku zawartość wielu kolejnych plików, których nazwy poda użytkownik w formie kolejnych argumentów wywołania. Pomiędzy przesyłaniem zawartości poszczególnych plików program ma odczekać 5 sekund.

Ponieważ potoki FIFO istnieją jako pliki na dysku, i każdy program może je dowolnie otwierać, nie ma tu już potrzeby uruchamiania procesu czytającego przez klonowanie. Program czytający może być uruchomiony całkowicie niezależnie.

Do wyświetlania plików FIFO najlepiej wykorzystać program tail z argumentami -c +NUM oraz -f (flaga -f powoduje, że po osiągnięciu końca pliku, program tail nie kończy pracy tylko czeka na dalsze dane).