web-dev-qa-db-fra.com

Commandes de terminal pour un arrêt et un redémarrage brusques

Je souhaite effectuer un redémarrage et un arrêt brusques (arrêt immédiat et redémarrage) via le terminal.

Est-ce possible grâce aux commandes du terminal?

Et notez qu’aucune réponse n’est donnée dans cette comment puis-je éteindre ou redémarrer à partir d’un terminal? question pose un arrêt ou un redémarrage immédiat. Donc ce n'est pas une dupe.

6
Avinash Raj

Il serait plus sûr de faire un Alt+SysRq+ (R,E,I,S,U,B or O) que de forcer un difficile redémarrer.

  • R Basculer le clavier du mode brut au mode XLATE
  • E SIGTERM tout sauf init
  • I SIGKILL tout sauf init
  • S Synchronise les systèmes de fichiers montés
  • U Remonte les systèmes de fichiers montés en mode lecture seule
  • B Redémarrez le système ou O Éteindre le système

Tu pourrais juste Alt+SysRq+B/O redémarrer/arrêter si vous le voulez vraiment mais que vous mettez ainsi vos systèmes de fichiers en danger. Faire tout ce qui précède est relativement sûr et devrait fonctionner même lorsque le reste du système est en panne.

C’est essentiellement la même méthode dont vous parlez dans vos commandes, mais je ne suis pas sûr que vous puissiez écrire les scripts E et I (car ils verrouillent votre accès au terminal). Mais vous pouvez certainement gérer l’accès au disque et redémarrer ou arrêter.

for i in s u b; do echo $i | Sudo tee /proc/sysrq-trigger; sleep 5; done  # reboot
for i in s u o; do echo $i | Sudo tee /proc/sysrq-trigger; sleep 5; done  # halt

Vous pourriez quand même perdre des données à partir d'applications en cours d'exécution, mais cela ne devrait pas casser votre système de fichiers. Si vous avez des caches d'écriture sur disque particulièrement volumineux, il peut être préférable d'augmenter la valeur sleep.

6
Oli

NOTE: Enregistrez tous les documents de travail avant d’exécuter les commandes ci-dessous.

Commande de terminal pour un arrêt définitif,

Sudo sh -c "echo o > /proc/sysrq-trigger"

Commande de terminal pour le redémarrage à froid,

Sudo sh -c "echo b > /proc/sysrq-trigger"
8
Avinash Raj