Какой правильный способ завершения работы?

Какой правильный способ завершения работы?

Я пытался выключить свой ПК через SSH. Я выполнил

sudo shutdown now

Пользователь вышел из системы, и Ubuntu начал выключаться, но завис на последнем экране с логотипом Ubuntu и точками загрузки. Есть идеи, в чем может быть проблема?

А также, в чем разница между shutdownи halt? Какие еще есть похожие команды?

решение1

Из СТРАНИЦ MAN:

Неисправность- "выключение обеспечивает безопасное отключение системы. Все вошедшие в систему пользователи уведомляются о том, что система отключается, и в течение последних пяти минут TIME новые входы в систему блокируются". Указанное здесь время - это период времени, указанный пользователем, который отключает систему.

Остановить- «Эти программы позволяют системному администратору перезагружать, останавливать или выключать систему».

Разница в том, что Halt может быть более «агрессивным» при выключении, чем само Shutdown. У него есть параметры, которые могут буквально заставить систему выключиться, не обращая внимания на службы или открытые программы. Если вы запустите halt без параметров, он просто выполнит команду выключения. Что-то вроде псевдонима. Если вы запустите его, например, с параметром, --forceон «заставит» систему перезагрузиться очень быстро.

В случае остановки или выключения они будут ждать корректного завершения всех процессов перед выключением или перезагрузкой ПК. Если служба или приложение не закрываются или закрываются неправильно, вы увидите то, что вы там упоминаете (логотип ubuntu с точками).

Правильный способ в терминале для одного пользователя или нескольких пользователей — выключение. Но если выключение не работает, проверьте, какие службы у вас запущены и какая из них вызывает замедление или зависание выключения.

Учитывая это, существует несколько способов перезагрузки или выключения системы:

Перезагрузка- shutdown -r,reboot

В этом случае перезагрузка — это просто вызов shutdown -r.

Выключение- halt, shutdown, sudo init 0, shutdown -h now,poweroff

В этом случае poweroffэто то же самое, что и вызовshutdown -P

Как вы заметили, shutdownкоманда может делать многое, вот небольшой список:

-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

Как иreboot

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

Однако есть разница между выключением через терминал и нажатием на опцию «Выключить» в Unity. Последний вариант попросит пользователя взаимодействовать с любой несохраненной работой (например, libreoffice, inkscape...). Первый вариант просто отправит сигнал всем процессам, сообщая им о необходимости закрыться. Никакого взаимодействия с пользователем не потребуется, поэтому вся несохраненная работа будет потеряна.

решение2

Все, что вам нужно сделать, это выключить компьютер после его выключения, выполнив следующую команду:

sudo выключение -P 20

решение3

Еще одна команда для выключения системы —

sudo init 0

init 0 вызывает все скрипты завершения работы и корректно выключает вашу машину.

решение4

Создайте сценарий:

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

Связанный контент