Powrót na stronę UNIX

Napisz program zliczający pliki regularne we wskazanych katalogach (z rekurencyjnym zliczaniem 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ć dopisane w drugim pliku, do którego należy przepisać ścieżkę do katalogu poprzedzoną zliczoną ilością plików. Tam gdzie podana ścieżka jest niepoprawna, zamiast liczby plików podajemy -1.

Zadanie ma być zrealizowane równolegle tj. z użyciem procesów potomnych - po jednym na każdy katalog. Plik wynikowy będzie tworzony przez wiele procesów równolegle, zatem trzeba zadbać o to aby procesy nie nadpisywały sobie wyników dodając odpowiednie blokowanie.

Proces rodzic nie powinien zakończyć sie przed końcem procesów potomnych w przypadku normalnego końca programu.

Obowiązuje niskopoziomowy dostęp do plików (nie używamy fgets,printf na plikach).

Przykładowy plik wejściowy test.txt.

Przykładowy plik wyjściowy out.txt.

Dwie nazwy plików (wejściowy i wyjściowy) 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