Voglio solo sapere la differenza tra in
reboot
init 6
shutdown -r now
e qual è il più sicuro e il migliore?
Voglio solo sapere la differenza tra in
reboot
init 6
shutdown -r now
e qual è il più sicuro e il migliore?
Risposte:
Non c'è differenza in loro. Internamente fanno esattamente la stessa cosa:
reboot
usa il shutdown
comando (con l'opzione -r). Il comando shutdown usato per uccidere tutti i processi in esecuzione, smontare tutti i file system e infine dice al kernel di emettere il comando di alimentazione ACPI. La fonte può essere trovata qui . Nelle distribuzioni precedenti il comando di riavvio costringeva i processi a uscire emettendo il SIGKILL
segnale (ancora presente nelle fonti, può essere invocato con l' -f
opzione), nelle distribuzioni più recenti il valore predefinito è più elegante e amichevole init 1 -> shutdown -r
. Questo assicura che i demoni si ripuliscano da soli prima dell'arresto.
init 6
indica al init
processo di arrestare tutti i processi / demoni generati come scritto nei file init (nell'ordine inverso in cui sono stati avviati) e infine invoca il shutdown -r now
comando per riavviare la macchina
Oggi non c'è molta differenza poiché entrambi i comandi fanno esattamente lo stesso, e rispettano gli script di init utilizzati per avviare servizi / demoni invocando gli script di spegnimento per loro. Salvo reboot -f -r now
quanto indicato di seguito
C'è una piccola spiegazione presa dalle manpage del perché reboot -f
non è sicuro:
-f, --force Forza arresto immediato, spegnimento, riavvio. Non contattare il sistema init.
Modificare:
Dimenticato di menzionare, nelle imminenti distribuzioni RHEL dovresti usare il nuovo systemctl
comando per eseguire lo spegnimento / riavvio. Come indicato nelle manpage di reboot
e shutdown
sono "un comando legacy disponibile solo per compatibilità". e il systemctl
metodo sarà l'unico sicuro.
init 1 -> shutdown -r
?
L'arresto è preferibile perché ti consente di specificare il motivo dell'azione drastica, cosa che dovresti sempre fare. Il messaggio verrà registrato nei log per i posteri. Per esempio:
shutdown -r now 'Kernel upgrade requires reboot'
È inoltre possibile eseguire un riavvio pianificato , specificando qualcosa di diverso rispetto now
al tempo di riavvio:
shutdown -r 22:00 'Work around kernel memory leak'
Quindi i tuoi utenti riceveranno promemoria periodici per uscire man mano che il tempo si avvicina: il processo sarà più ordinato e professionale.
Sui unices tradizionali reboot
e shutdown -r now
sono comandi molto diversi. Nell'uso tipico, reboot
è sicuro da usare solo in modalità utente singolo.
shutdown -r now
è il metodo canonico per arrestare diversi * nix e più sicuro da usare in generale ed è funzionalmente equivalente a init 6
.
Su FreeBSD c'è una differenza tra reboot
e shutdown -r now
. Dalla reboot
pagina man:
Normalmente, l'utilità shutdown (8) viene utilizzata quando il sistema deve essere arrestato o riavviato, dando agli utenti un preavviso per il loro destino imminente e terminando in modo pulito programmi specifici.