Powrót na stronę UNIX

Napisz program zliczający linki symboliczne we wskazanych katalogach (bez rekurencyjnego zliczania w podkatalogach). Ścieżki do katalogów w których ma nastąpić zliczanie są podane w postaci pliku tekstowego w którym na każdą linie przypada jedna ścieżka. Wyniki mają być wypisane na ekran gdzie należy przepisać ścieżkę do katalogu w postaci kanonicznej poprzedzoną zliczoną ilością linków symbolicznych. Tam gdzie podana ścieżka jest niepoprawna, zamiast liczby linków symbolicznych podajemy -1.

Zadanie ma być zrealizowane równolegle tj. z użyciem procesów potomnych - po jednym na każdy katalog. Dodatkowo proces rodzic ma limit "n" jednocześnie działających procesów potomnych.

Program można przerwać wysyłając sygnał SIGINT (C-c). Procesy potomne nie powinny być przerywane przed zakończeniem swojej pracy. Proces rodzic nie powinien zakończyć sie przed końcem procesów potomnych w przypadku normalnego końca programu.

Obowiązuje wysokopoziomowy dostęp do plików - funkcja fgets.

Przykładowy plik wejściowy test.txt.

Liczba 1<n<10 oraz nazwa pliku wejściowego 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