2.9 Arresto del sistema

Al fine di far terminare in maniera opportuna i processi in esecuzione sul sistema stesso e per ottenere una corretta gestione del caching relativo al filesystem, è necessario arrestare GNU/Linux per mezzo del comando shutdown (man page shutdown(8)). Tale comando effettua l’arresto del sistema cambiando il runlevel dal valore corrente a 0 (o 6) tramite una chiamata al comando telinit e notificando a tutti i processi ed agli utenti collegati, che il sistema sta per essere arrestato. I processi riceveranno il segnale SIGTERM (v. cap. 7) che indica loro di terminare l’esecuzione. Ai processi che dopo 5 secondi dall’invio di tale segnale non sono ancora terminati, il kernel invia il sengale SIGKILL, che ne causa la terminazione istantanea. Il sistema non accetterà più nessun accesso (login) da parte di altri utenti (per la presenza del file /etc/nologin)50.

Il comando shutdown può essere utilizzato anche per riavviare il sistema, cioè per arrestarlo e riavviarlo subito dopo.

____________________________________________________________________

Comando: shutdown
Path: /sbin/shutdown

SINTASSI  
# shutdown [option] time [warning-message]  
DESCRIZIONE

________________________________________________________________________

È possibile arrestare il sistema anche con appositi comandi dell’interfaccia grafica, messi a disposizione dalle varie distribuzioni di GNU/Linux, che a loro volta lanciano in esecuzione il comando shutdown.

Il riavvio del sistema può generalmente essere effettuato anche attraverso la pressione contemporanea dei tasti . Tale combinazione di tasti viene intercettata da init se nel file /etc/inittab è presente una riga nella quale è specificata l’action ctrlaltdel, come riportato nell’esempio a pag. 224.

Se non si desidera che gli utenti (tranne il superuser) possano riavviare il sistema con la combinazione di tasti , si può commentare o eliminare dal file /etc/inittab la riga contenente l’action ctrlaltdel, oppure modificare il campo file della stessa riga, aggiungendo al comando shutdown l’opzione -a ed inserendo nel file /etc/shutdown.allow gli username dei soli utenti che hanno la possibilità di effettuare il riavvio del sistema tramite la combinazione di tasti suddetta.