Powrót na stronę UNIX

Tematyka zadania: pliki
Rodzaj sprawdzania: na zajęciach
Czas pisania: 70 minut
Sprawdzający: Marcin Borkowski i Paweł Rzążewski
Autor Zadania: Paweł Rzążewski
Oddanie zadania: osobiście na miejscu

Napisz program, który przegląda katalogi i zapisuje ich zawartość w pliku wynikowym. Wywołanie programu:

files DIR1 DIR2 OUT_FILE

Program jest dwuprocesowy, każdy proces odpowiada za przeglądanie jednego katalogu (DIR1 i DIR2). Każdy z procesów wpisuje kolejne pozycje w swoim katalogu do pliku wyjsciowego w postaci:

[pid] [nazwa katalogu] [nazwa elementu]

(każdemu elementowi odpowiada jedna linia) Po wpisaniu linii proces zasypia na 0,5s.

Należy używać niskopoziomowych operacji na plikach (open, write, close). Proszę zwrócić uwagę na synchronizację dostępu do pliku (write lock). Proces rodzicielski powinien czekać na zakończenie pracy przez proces potomny. Wszelkie komunikaty o błędach należy wyprowadzać na stderr. W przypadku podania niewłaściwych parametrów program powinien wypisywać usage.

Uwaga na:

Przydatne funkcje: open, write, close, fcntl, opendir, readdir, closedir, sigaction, waitpid

Powrót na stronę UNIX