Su sistemi operativi simili a Unix, il comando shutdown arresta o riavvia il sistema.
Descrizione
Il comando shutdown porta il sistema verso il basso in modo sicuro. Tutti gli utenti che hanno effettuato il login vengono informati che il sistema sta andando giù e le operazioni di accesso sono bloccate. È possibile spegnere il sistema immediatamente, o dopo un ritardo specificato.
Tutti i processi vengono prima informati che il sistema sta andando giù dal segnale SIGTERM. Ciò offre a programmi come vi il tempo di salvare il file in fase di modifica, i programmi di posta e di elaborazione delle notizie la possibilità di uscire in modo pulito, ecc.
shutdown fa il suo lavoro segnalando il processo di init, chiedendogli di cambiare il runlevel. Il runlevel 0 viene utilizzato per arrestare il sistema, il runlevel 6 viene utilizzato per riavviare il sistema e il runlevel 1 viene utilizzato per mettere il sistema in uno stato in cui è possibile eseguire attività amministrative (modalità utente singolo). Runlevel 1 è l'impostazione predefinita, a meno che non vengano specificate le opzioni -h o -r.
Il tuo sistema potrebbe avere un diverso set di opzioni per il comando shutdown; controlla la tua documentazione per i dettagli.
Sintassi
shutdown [-akrhPHfFnc] [-t sec] tempo [messaggio]
Opzioni
-a | Controlla l'accesso al comando shutdown usando il file di accesso di controllo /etc/shutdown.allow. Vedere Controllo degli accessi di seguito per ulteriori informazioni. |
-k | Non arrestare, ma inviare i messaggi di avviso come se l'arresto fosse reale. |
-r | Riavvia dopo l'arresto. |
-h | Indica al sistema di arrestarsi e quindi arrestarsi. |
-P | Indica al sistema di arrestarsi e quindi spegnersi. |
-H | Se viene specificato anche -h, questa opzione indica al sistema di accedere al monitor di avvio sui sistemi che lo supportano. |
-f | Salta fsck dopo il riavvio. |
-F | Forza fsck dopo il riavvio. |
-n | Non chiamare init per arrestare i processi; istruire lo spegnimento per farlo da solo. L'uso di questa opzione è sconsigliato e i suoi risultati non sono sempre prevedibili. |
-c | Annulla uno spegnimento in sospeso. (Questo non si applica a "shutdown now", che non attende prima dello spegnimento.) Con questa opzione, non è possibile fornire l'argomento time, ma è comunque possibile specificare un messaggio esplicativo che verrà inviato a tutti gli utenti. |
-t sec | Di 'a init di attendere secondi secondi tra i processi di invio dell'avviso e il segnale di interruzione, prima di passare a un altro livello. |
a che ora | L'argomento time specifica quando eseguire l'operazione di arresto. Il tempo può essere formattato in diversi modi: in primo luogo, può essere un tempo assoluto nel formato hh: mm, in cui hh è l'ora (1 o 2 cifre, da 0 a 23) e mm è il minuto dell'ora ( in due cifre). In secondo luogo, può essere nel formato + m, in cui m è il numero di minuti di attesa. Inoltre, la parola ora è la stessa di specificare +0; arresta immediatamente il sistema. |
messaggio | Un messaggio da inviare a tutti gli utenti, insieme alla notifica di spegnimento standard. |
Dettagli
Se un arresto è programmato per il futuro, creerà il file di avviso / etc / nologin che impedisce a programmi come il login di consentire l'accesso a nuovi utenti. Questo file viene creato cinque minuti prima dell'inizio della sequenza di arresto. shutdown rimuove questo file se viene fermato prima che possa segnalare init (cioè viene cancellato o qualcosa va storto). Lo rimuove anche prima di chiamare init per cambiare il runlevel.
Il flag -f significa "riavvio rapido". Questo crea solo un file di avviso / avvio rapido che può essere testato dal sistema quando si ripresenta. Il file rc di avvio del sistema ("rc" sta per "runcom", che è l'abbreviazione di "comandi di esecuzione") può verificare se questo file è presente e decidere di non eseguire fsck poiché il sistema è stato spento nel modo corretto. Successivamente, il processo di avvio dovrebbe rimuovere / fastboot.
Il flag -F significa "force fsck". Questo crea solo un file di avviso / forcefsck che può essere testato dal sistema quando si ripresenta. Il file di avvio rc può verificare se questo file è presente e decidere di eseguire fsck con uno speciale flag "force" in modo che anche i file system correttamente smontati vengano controllati. Successivamente, il processo di avvio dovrebbe rimuovere / forcefsck.
Il flag -n causa l'arresto non per chiamare init, ma per uccidere tutti i processi in esecuzione. lo spegnimento disattiverà la quota, la contabilità e lo scambio e smonterà tutti i file system.
Access Control
lo spegnimento può essere chiamato da init quando si preme la combinazione di tasti Ctrl + Alt + Canc, se esiste una voce appropriata in / etc / inittab. Ciò significherebbe che chiunque abbia accesso fisico alla tastiera della console, tuttavia, può arrestare il sistema.
Per evitarlo, shutdown può verificare se un utente autorizzato è loggato. Se shutdown viene chiamato con l'argomento -a (aggiungilo all'invocazione di shutdown in / etc / inittab), controlla se il file / etc /shutdown.allow è presente. Quindi confronta i nomi di accesso in quel file con l'elenco delle persone che hanno effettuato l'accesso su una console virtuale (da / var / run / utmp). Solo se uno di quegli utenti autorizzati o root è connesso, procederà. Altrimenti, scriverà il messaggio
spegnimento: nessun utente autorizzato ha effettuato l'accesso
... alla console di sistema (fisica). Il formato di /etc/shutdown.allow è un nome utente per riga. Sono consentite righe vuote e righe di commento (precedute da un #). Attualmente esiste un limite di 32 utenti in questo file.
Nota che se /etc/shutdown.allow non è presente, l'argomento -a viene ignorato.
Arresto vs. spegnimento
L'opzione -H imposta semplicemente la variabile di ambiente init INIT_HALT su HALT e l'opzione -P imposta semplicemente quella variabile su POWEROFF. Lo script di shutdown che chiama halt come ultima cosa nella sequenza di shutdown dovrebbe controllare queste variabili d'ambiente e chiamare halt con le giuste opzioni affinché queste opzioni abbiano effettivamente alcun effetto.
File
/ fastboot / etc / inittab /etc/init.d/halt /etc/init.d/reboot /etc/shutdown.allow
Esempi
spegnimento 8:00
Pianifica l'arresto del sistema alle 8:XNUMX
spegnimento 20:00
Pianifica l'arresto del sistema alle 8:XNUMX
shutdown +15 "Aggiornamento dell'hardware, i tempi di inattività dovrebbero essere minimi"
Pianifica l'arresto del sistema in quindici minuti. Insieme al normale messaggio che avvisa gli utenti che il sistema si sta spegnendo, verrà fornito il messaggio descrittivo su un aggiornamento hardware.
spegnimento ora
Disattivare immediatamente il sistema.
spegnimento -r ora
Disattivare immediatamente il sistema e riavviarlo automaticamente.
spegnimento -P ora
Disattivare immediatamente il sistema e spegnerlo automaticamente.
Comandi correlati
halt: arresta computer.poweroff: arresta computer.reboot: arresta computer.wall: invia un messaggio a tutti gli utenti che hanno effettuato l'accesso.