Was ist die richtige Art und Weise zum Herunterfahren des Terminals?

Was ist die richtige Art und Weise zum Herunterfahren des Terminals?

Ich habe versucht, meinen PC über SSH herunterzufahren. Ich habe ausgeführt

sudo shutdown now

Der Benutzer wurde abgemeldet und Ubuntu begann sich auszuschalten, aber es fror beim letzten Bildschirm mit dem Ubuntu-Logo und den Ladepunkten ein. Irgendeine Idee, wo das Problem liegen könnte?

Und was ist der Unterschied zwischen shutdownund halt? Welche anderen ähnlichen Befehle gibt es?

Antwort1

Aus den MANPAGES:

Abschalten- „shutdown sorgt dafür, dass das System auf sichere Weise heruntergefahren wird. Alle angemeldeten Benutzer werden benachrichtigt, dass das System heruntergefahren wird, und innerhalb der letzten fünf Minuten von TIME werden neue Anmeldungen verhindert.“ Die hier angegebene Zeit ist ein vom Benutzer, der herunterfährt, angegebener Zeitraum.

Halt- „Diese Programme ermöglichen einem Systemadministrator, das System neu zu starten, anzuhalten oder auszuschalten.“

Der Unterschied besteht darin, dass Halt beim Herunterfahren „aggressiver“ sein kann als Shutdown selbst. Es verfügt über Parameter, die das System buchstäblich zum Herunterfahren zwingen können, ohne Dienste oder geöffnete Programme zu berücksichtigen. Wenn Sie Halt ohne Parameter ausführen, wird einfach der Shutdown-Befehl ausgeführt. So etwas wie ein Alias. Wenn Sie es beispielsweise mit dem Parameter ausführen, --forcewird das System sehr schnell zu einem Neustart „gezwungen“.

Im Falle eines Anhaltens oder Herunterfahrens warten sie, bis alle Prozesse ordnungsgemäß abgeschlossen sind, bevor sie den PC ausschalten oder neu starten. Wenn ein Dienst oder eine App nicht oder nicht ordnungsgemäß geschlossen wird, sehen Sie, was dort erwähnt wird (das Ubuntu-Logo mit den Punkten).

Die richtige Vorgehensweise im Terminal für einen Einzelbenutzer oder mehrere Benutzer ist das Herunterfahren. Wenn das Herunterfahren jedoch nicht funktioniert, überprüfen Sie, welche Dienste ausgeführt werden und welcher die Verlangsamung oder das Einfrieren des Herunterfahrens verursacht.

Vor diesem Hintergrund gibt es mehrere Möglichkeiten, das System neu zu starten oder herunterzufahren:

Neustart- shutdown -r,reboot

In diesem Fall ist der Neustart lediglich der Aufruf von shutdown -r.

Herunterfahren- halt, shutdown, sudo init 0, shutdown -h now,poweroff

In diesem Fall poweroffist das gleiche wie der Aufrufshutdown -P

Wie Sie bemerkt haben, shutdownkann der Befehl eine Menge Dinge tun, hier ist eine kleine Liste davon:

-r  Requests that the system be rebooted after it has been brought down
-h  Requests that the system be either halted or powered off after it has been brought down, with the choice as to which left up to the system
-H  Requests that the system be halted after it has been brought down
-P  Requests that the system be powered off after it has been brought down
-c  Cancels a running shutdown. TIME is not specified with this option, the first argument is MESSAGE
-k  Only send out the warning messages and disable logins, do not actually bring the system down

Ebenso wie diereboot

-f, --force                 force reboot or halt, don't call shutdown(8)
-p, --poweroff              switch off the power when called as halt

Es besteht jedoch ein Unterschied zwischen dem Herunterfahren über das Terminal und dem Klicken auf die Option Herunterfahren in Unity. Bei letzterem wird der Benutzer aufgefordert, mit nicht gespeicherten Arbeiten (wie LibreOffice, Inkscape usw.) zu interagieren. Ersteres sendet einfach ein Signal an alle Prozesse, das sie zum Schließen auffordert. Es ist keine Benutzerinteraktion erforderlich, sodass alle nicht gespeicherten Arbeiten verloren gehen.

Antwort2

Sie müssen den Computer nach dem Herunterfahren ausschalten, indem Sie den folgenden Befehl ausführen:

sudo shutdown -P 20

Antwort3

Ein weiterer Befehl zum Herunterfahren des Systems ist

sudo init 0

init 0 ruft alle Shutdown-Skripte auf und fährt Ihren Computer ordnungsgemäß herunter.

Antwort4

Erstellen Sie ein Skript:

#!/bin/bash 
shopt -s nocasematch
read -t 30 -N 1 -p 'Shutdown now? (Y/n) '
[[ "$REPLY" =~ n ]] || sudo poweroff

verwandte Informationen