-- Processi -- Studiare da p.1 a p.4 il pdf che si trova a questo link
http://nuovolabs.fauser.edu/~valeria/materiale-didattico/TeP-quarta/processi/c-argomenti- fork-exec.pdf
Studiare da p.7 a p.19 il pdf che si trova a questo link
http://nuovolabs.fauser.edu/~valeria/materiale-didattico/TeP-quarta/processi/Processi- 2019.pdf
-- Segnali --
Studiare le slide 1-6, 8-15, 20-25, 27-28 del pdf che si trova a questo link
http://nuovolabs.fauser.edu/~valeria/materiale-didattico/TeP-quarta/segnali/Segnali-Unix.pdf
-- Esempi --
Studiare gli esempi di programma che si trovano a questo link
http://nuovolabs.fauser.edu/~valeria/materiale-didattico/TeP-quarta/c-fork
I programmi signal-dado-padre.c, wait-hand.c e alarm.c sono esempi per la gest ione dei segnali
Il programma kill. c e' l'esempio per inviare un segnale da un processo ad un altro
Gli altri programmi sono relativi alla creazione di processi -- Esercizio 1 --
Scrivere un programma C che realizza un ciclo infinito in cui esegue una sleep di 3 secondi.
Se l'utente preme ctrl-c (ctrl-c corrisponde al segnale SIGINT) il programma per le prime 4 volte
stampa a video il messaggio “Non voglio terminare” , la quinta volta termina.
Se il programma riceve SIGUSR1 visualizza quante volt e l’utente ha premuto ctrl-c.
-- Esercizio 2 --
Scrivere un programma C che riceva come argomento un intero n, controllando che l’argomento sia stato specificato.
Successivamente crea n processi figli memorizzando i loro pid in un vettore.
Ogni processo figlio ha il compito di visualizzare il proprio pid, generare un numero casuale, visualizzarlo e poi terminare.
Il processo padre prima di terminare deve aspettare la terminazione di tutti i suoi figli.