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 shutdown
und 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, --force
wird 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 poweroff
ist das gleiche wie der Aufrufshutdown -P
Wie Sie bemerkt haben, shutdown
kann 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