web-dev-qa-db-fra.com

Quelle est la différence entre redémarrage, init 6 et arrêt -r maintenant?

Je veux juste savoir la différence entre

  • reboot
  • init 6
  • shutdown -r now

et lequel est le plus sûr et le meilleur?

106
Rahul Patil

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

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

  • init 6 indique au processus init d'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 d'appeler 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. À l'exception de reboot -f -r now Comme indiqué ci-dessous

Une petite explication tirée des pages de manuel explique pourquoi le reboot -f n'est pas sûr:

 -f, --force 
 Forcer l'arrêt immédiat, la mise hors tension et le redémarrage. Ne contactez pas le système init. 

Éditer:

Oublié de mentionner, dans les distributions RHEL à venir, vous devez utiliser la nouvelle commande systemctl pour lancer la mise hors tension/le redémarrage. Comme indiqué dans les pages de manuel de reboot et shutdown, il s'agit "d'une commande héritée disponible à des fins de compatibilité uniquement". et la méthode systemctl sera la seule sûre.

91
Martino Dino

L'arrêt est préférable car il vous permet de spécifier 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 un redémarrage planifié - 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.

9
Mikhail T.

Sur FreeBSD, il y a une différence entre reboot et shutdown -r now. Depuis la page de manuel reboot:

Normalement, l'utilitaire shutdown (8) est utilisé lorsque le système doit être arrêté ou redémarré, donnant aux utilisateurs un avertissement préalable de leur Doom imminent et terminant proprement des programmes spécifiques.

5
Marián Černý

Sur les unités traditionnelles, reboot et shutdown -r now sont des commandes très différentes. Dans des conditions d'utilisation normales, reboot n'est sûr à utiliser qu'en mode mono-utilisateur.

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

init (8)reboot (8)

5
user2619306