Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio20:esercitazionib:esercitazione12

Questa è una vecchia versione del documento!


Esercitazione 12

Esercizio 1

Scrivere un programma C che conta il numero di volte in cui l'utente invia il segnale SIGINT (Ctl-C) al processo. Quando il processo riceve il segnale SIGTSTP (Ctl-Z), il numero di SIGINT ricevuti viene stampato sullo standard output. Al terzo segnale SIGTSTP, il processo chiede all'utente se deve terminare o no attendendo una risposta per 10 secondi dallo standard input. Se l'utente non risponde entro 10 secondi un segnale SIGALRM termina il processo.

Esercizio 2

Modificare l'Esercizio 3 dell'Esercitazione 11 in modo da gestire la terminazione del server a seguito della ricezione di un segnale (SIGINT, SIGQUIT, SIGTERM, SIGHUP, etc…) in modo da lasciare il sistema in uno stato consistente dopo la sua terminazione, cioè eliminare dal file system il socket AF_UNIX creato per accettare le connessioni, eventuali file temporanei e liberare la memoria allocata dinamicamente al fine di poter controllare eventuali memory leaks con valgrind. Lanciare il server con il comando valgrind –leak-check=full e verficare che non ci siano messaggi di errore.

Esercizio 3

informatica/sol/laboratorio20/esercitazionib/esercitazione12.1587115307.txt.gz · Ultima modifica: 17/04/2020 alle 09:21 (5 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki