Questa è una vecchia versione del documento!
Esercitazione 6
System calls (SC) che operano su directory. Per gli esercizi proposti si richiede di realizzare un Makefile.
Esercizio 1
Scrivere un programma C che dati come argomenti una lista di file o directory stampa per ogni file: il tipo di file (-,l,d,s,…) la machera di bit di protezione (es. rw-r–r–), l'user identifier (uid), il group identifier (gid) ed il tempo dell'ultima modifica.
Per convertire il tempo di ultima modifica in un formato stampabile usare la funzione di libreria ctime
. Usare getpwuid
e getgrgid
per convertire uid e gid nei nomi corrispondenti.
Esercizio 2
Scrivere un programma C chiamato 'lsdir' che, dato come argomento un nome di directory, visita ricorsivamente tutto il sottoalbero di file e directory che ha come root la directory passata come argomento e stampi sullo standard output le informazioni nel seguente formato:
Directory: <nomedir1> file1 size permessi file2 size permessi ------------------ Directory: <nomedir2> file1 size permessi file2 size permessi ------------------
Durante la visita dell'albero di directory non cosiderare le directory .
e ..
.
Esercizio 3
Scrivere un programma che prende un intero N come argomento e crea N processi zombies. Lanciare il programma in background e visualizzare gli zombies con il comando ps -A -ostat,pid,ppid | grep Z
.