GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre reboot , init 6 et shutdown -r now ?

Il n'y a pas de différence entre eux. En interne, ils font exactement la même chose :

  • reboot utilise le shutdown commande (avec le commutateur -r). La commande shutdown était utilisée pour tuer tous les processus en cours d'exécution, démonter tous les systèmes de fichiers et enfin dire au noyau d'émettre la commande d'alimentation ACPI. La source peut être trouvée ici.Dans les anciennes distributions, la commande de redémarrage forçait les processus à se fermer en émettant le SIGKILL signal (toujours trouvé dans les sources, peut être invoqué avec -f option), dans les distributions les plus récentes, la valeur par défaut est init 1 -> shutdown -r, plus élégante et conviviale pour l'initialisation. . Cela garantit que les démons se nettoient avant l'arrêt.

  • init 6 indique le init processus pour arrêter tous les processus/démons générés tels qu'ils sont écrits dans les fichiers init (dans l'ordre inverse de leur démarrage) et enfin invoquer le shutdown -r now commande pour redémarrer la machine

Aujourd'hui, il n'y a pas beaucoup de différence car les deux commandes font exactement la même chose et respectent les scripts d'initialisation utilisés pour démarrer les services/démons en invoquant les scripts d'arrêt pour eux. Sauf pour reboot -f -r now comme indiqué ci-dessous

Il y a une petite explication tirée des pages de manuel expliquant pourquoi le reboot -f n'est pas sûr :

  -f, --force
    Force immediate halt, power-off, reboot. Don't contact the init system.

Modifier :

J'ai oublié de mentionner que dans les prochaines distributions RHEL, vous devriez utiliser le nouveau systemctl commande pour émettre poweroff/reboot. Comme indiqué dans les pages de manuel de reboot et shutdown ils sont "une commande héritée disponible uniquement pour la compatibilité". et le systemctl méthode sera la seule sûre.


L'arrêt est préférable car il vous permet de spécifier la raison pour l'action drastique - quelque chose que vous devriez toujours faire. Le message sera enregistré dans le(s) journal(s) pour la postérité. Par exemple :

shutdown -r now 'Kernel upgrade requires reboot'

Vous pouvez également effectuer une planification reboot -- en spécifiant autre chose que now comme heure de redémarrage :

shutdown -r 22:00 'Work around kernel memory leak'

Ensuite, vos utilisateurs recevront des rappels périodiques pour sortir à mesure que le temps approche - le processus sera plus ordonné et professionnel.


Sur les unités traditionnelles, reboot et shutdown -r now sont des commandes très différentes. En utilisation normale, reboot ne peut être utilisé en toute sécurité qu'en mode mono-utilisateur.

shutdown -r now est la méthode canonique pour s'arrêter sur différents *nix et plus sûre à utiliser en général et est fonctionnellement équivalente à init 6 .

init(8)reboot(8)


Linux
  1. La Différence Entre [[ $a ==Z* ]] Et [ $a ==Z* ] ?

  2. Centos - La différence entre l'arrêt à 18h00 et l'arrêt à 18h00 ?

  3. Quelle est la différence entre Git Switch et Checkout ?

  4. Quelle est la différence entre strtok_r et strtok_s en C ?

  5. Quelle est la différence entre fsck et e2fsck ?

Quelle est la différence entre Linux et Unix ?

Quelle est la différence entre la connexion et le shell sans connexion

Quelle est la différence entre la commande apt et apt-get ?

Qu'est-ce qu'un Hyperviseur ? Quelle est la différence entre les types 1 et 2 ?

Quelle est la différence entre curl et Wget ?

Quelle est la différence entre unlink et rm ?