Перезагрузка ubuntu из консоли. Linux: перезагрузка и выключение системы

Abstract: описание видов ребута, рассказ про sysrq, ipt_SYSRQ, ipmi, psu.

Как перезагрузить сервер? - Это вопрос, который обычно задают ну очень начинающим пользователям, которые путаются между halt, shutdown -r, reboot, init 6 и т.д.

Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута - и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду IPMI/DRAC/iLO с целью «доперезагрузить» будет самым лёгким. Самым тяжёлым в моей личной практике была командировка эникейщика в соседний город. С целью «нажать ребут» на одиноко стоящем сервере.

В этой статье: что мешает серверу перезагрузиться и как ему помочь.

Начнём с теории ребута.

При выключении или перезагрузке сервера менеджер инициализации (в большинстве современных дистрибутивов - systemd, в эксцентричной Ubuntu 14.04 до сих пор upstart, в архаичном хламе - sysv-init) в определённом порядке посылает всем демонам команду «выключись». И большинство демонов (например, СУБД, вроде mysql) знают, как выключаться правильно. Например, закончить все транзакции, сохранить все несохранённые данные на диск и т.д. Для in-memory СУБД, наподобие redis, это и вовсе может быть критичным: не сохранил - потерял.

Старые системы иницализации ждали неограниченно долго каждый из инит-скриптов. Например, если «шутник» добавил вам в «stop» веточку «sleep 3600», то ваш сервер будет перезагружаться час с хвостиком. А если там цифра поболе, или просто программа, которая не хочет завершаться, то и ребут никогда не закончится.

Новые системы инициализации (собственно, не стесняемся - остался только systemd) дают некий таймаут (обычно 120 или 180 секунд) на сохранение данных, после чего завершают процесс силком. Помимо остановки демонов, отмонтируются файловые системы (то есть скидываются все блочные кеши), останавливаются iscsi target"ы (тоже с скидыванием кеша), и т.д. и т.п. При том, что время шатдауна получается неопределённо долгим, оно всё таки конечно. Плюс, есть хоть какая-то надежда на правильное завершение всех демонов, скидывание файловых кешей и т. д.

Таким образом, на здоровой системе правильный ответ на вопрос «как перезагрузиться» - выполнить команду reboot. В ряде случаев - даже единственный правильный (поправка: если в графическом интерфейсе сделать «reboot», то desktop environment будет думать, что это ребут аварийный - для перезагрузки из графического режима надо использовать «reboot» в интерфейсе DE).

Что может пойти не так при «обычном ребуте»? Ну, во-первых, какой-то из процессов-демонов может начать «тупить» - см выше.

Во-вторых, может возникнуть проблема с отмонтированием файловых систем. Считается, что достаточно «убить» все процессы, и отмонтировать диск будет легко - его же никто не использует. Но, это, мягко говоря, не так. Вот потенциальные методы «прибить fs гвоздями так, чтобы не отмонтировалось:

  • fallocate /fs/swap -l 1G;mkswap /fs/swap; swapon /fs/swap
  • dd if=/dev/sda of=/fs/image; kpartx /fs/image
  • losetup --find --show /fs/image
и т.д. Вкратце: файл может быть занят не только файловой системой, но и ядром. А модуль в ядре может быть занят поиском ответов на смысл жизни и не иметь намерений освобождать ресурс.

Чем это чревато? Неотмонтированной файловой системой. Systemd в этой ситуации пытается-пытается, да и бросает (неотмонтированную файловую систему). То есть reboot в этой ситуации будет ОЧЕНЬ долгим, но всё-таки пройдёт. Но это если umount вернёт ошибку.

А бывает так, что umount не может завершить операцию из-за того, что что-то не доступно. Например, файл на nfs-сервере. Если какой-то процесс обратится к такому файлу, то его завершить нельзя (даже с помощью kill -9). И в этой ситуации "reboot" просто завесит сервер. Опять же, наиболее типовые места у systemd „прикрыты“, но вероятность наткнуться на TASK_UNINTERRUPTIBLE ("D" в ps aux) всё равно можно.
Что делать? Можно перезагрузиться без синхронизации файловых систем и завершения чего-либо reboot -f. Но он тоже может повиснуть. Про причины ниже, а пока про последствия: все процессы не остановлены и умирают мгновенно, tcp сессии не закрыты, дисковые кеши не сброшены. Однако, ядро всё-таки выполняет какие-то движения в районе ребута (и, возможно, часть кешей будет сброшена). Главное же - в процессе ребута будет задействована большая часть ядра. И это означает, что если ядру поплохело, то мы можем и не вернуться обратно.

Вторая, крайне неприятная ситуация: проблемы с файловой системой на / (в корне). Любая попытка сделать ls, grep, и даже "reboot" вызывает либо зависание консоли, либо ошибку. По той же категории проходят проблемы с libc (включая её удаление), когда на попытку "reboot" говорят о проблеме линковки и отказываются что-то делать. Или, мы достигли лимита на число pid"ов и все они в "D" стейт. или ещё какая-то гадость того же калибра, идущая по категории „серверу плохо“.

Бывает так, что на сервер осталась открыта только одна консоль (а вторая уже не открывается). Почему? Потому что кто-то что-то подхимичил с драйвером дисков. Или рейд-контроллером. Или ещё чем-то, после чего от "/" остаются только воспоминания в дисковом кеше. Это означает, что у нас есть только команды bash"а (встроенные), которые выполняются без запуска новых процессов.

Существует метод перезагрузки, который не требует выполнения каких-либо исполняемых файлов (т.е. чтения с отсутствующего диска). Это (от рута): echo b >/proc/sysrq-trigger . Файл sysrq-trigger позволяет „нажать“ любую кнопку из SysRq комбинаций (аварийные кнопки ядра). В том числе и SysRq-b, то есть аварийный „reboot“. Часто бывает так, что после нажатия enter даже не успевает появиться перевод строки - сервер уже в ребуте до того, как syscall вернулся. Это самое сильное из софтового, что есть для ребута.
Замечание: кажующееся правильным в этой ситуации „sync, reboot“, т.е. SysRq-s, SysRq-B это ошибка, т.к. после SysRq-S, ядро может попытаться начать общаться с пустым множеством, и, потенциально, упасть в панику или отломать вам последнюю из доступных консолей. Если делается аварийный ребут - он должен быть аварийным

ipt_sysrq

Это всё работает, если у вас есть консоль на сервер. А если логин виснет и открытой консоли нет? Есть модуль ipt_SYSRQ , позволяющий выполнить sysrq запросы по получению определённого сетевого пакета (точнее, по правилу iptables). Работает целиком в ядре, т.е. от FS не зависит. К нему же прилагается команда send_sysrq.

сторож для сторожа

Можно было бы подумать, что на этом „всё“, но бывают ещё более неприятные зависания. Например, зависла сетевая карта. И обычный reboot (в т.ч. через sysrq) не помогает. Вторым примером таких плохой ситуации бывает зависание enclosure, которая залипла на плохом диске и игнорирует все bus reset. Перезагрузка вроде бы всё сбрасывает, а диски недоступны.

В этом случае нам нужен power cycle (включить/выключить). Физически бегать к серверу не интересно, так что можно посмотреть на возможности современных серверов: IPMI. Это встренный микрокомпьютер, позволяющий управлять „большим“ компьютером. Он обычно называется IPMI, DRAC, iLO, etc.

Интресующая нас команда: ipmitool chassis power cycle. Она более требовательна к работоспособности системы (должны быть загружены модули ядра, сам ipmitool должен успешно запуститься, ipmi должен быть рабочим и т.д.). Но зато она позволяет передёрнуть по питанию всех. Точнее, почти всех - если у сервера есть jbod"ы, то до них эта команда не доходит. Но, всё-таки, это очень добротный и хороший ребут.

Если ядру совсем поплохело, то команду можно выполнить и удалённо (ipmitool -H ipmi.server.local chassis power cycle)

Ещё одна сложная ситуация - когда завис ipmi. Если система при этом более-менее жива, то можно „перезагрузить ipmi“: ipmitool mc reboot hard . После этого можно будет сделать power cycle для шасси. Звучит странно, но я несколько раз в жизни „вытаскивал“ сервер в нормальный ребут именно такой последовательностью. (После mc reboot hard надо дать пару минут на загрузку BMC ).

Следующая точка „боли“ - это зависающие блоки питания. Да, такое бывает. Баги в прошивке блоков питания исправляют, их нужно прошивать . Разумеется, любые мягкие ребуты (такие как ipmi power cycle) в этой ситуации не работают. Нужно либо физически тыкать кабель, либо передёргивать питание удалённо. В этой ситуации помогает IP-розетка.

Выглядит это примерно так (фрагмент панели управления для servers.com/servers.ru):

Очевидно, в этих условиях ребут пройдёт по очёнь жёсткому сценарию, но точно пройдёт.

Команда «shutdown» безопасно отключает систему. Все вошедшие в систему пользователи получают уведомление о том, что система выключается, а операции входа блокируются. Можно сразу выключить систему или после указанной задержки.

Выключение Linux из командной строки является очень удобным, и многие пользователи системы управляют своим ПК через командную строку в таких вещах. Все процессы сначала уведомляются о том, что система готовится к режиму сна или перезагрузке через SIGTERM. Это дает программам, таким как vi, время, чтобы сохранить редактируемый файл, программы обработки почты и новостей, возможность выхода из системы и т. д.

«Shutdown» выполняет свою работу, сигнализируя процессу init, прося его изменить уровень запуска. Уровень запуска 0 используется для остановки системы, уровень запуска 6 используется для перезагрузки системы, а уровень запуска 1 используется для перевода системы в состояние, в котором административные задачи могут выполняться (однопользовательский режим). Уровень запуска 1 по умолчанию, если не указаны опции -h или -r.

В вашей системе может быть другой набор параметров для команды завершения работы; Проверьте документацию устройства.

Выключение Linux из командной строки

shutdown [-akrhPHfFnc] [-t sec ] time [message ]

  1. -a Управлять доступом к команде shutdown, используя файл доступа к управлению /etc/shutdown.allow. Для получения дополнительной информации см. Раздел «Контроль доступа» ниже.
  2. -k Не выключайте, а отправляйте предупреждающие сообщения, как будто выключение было реальным.
  3. -h Указывает системе завершить работу, а затем остановить ее.
  4. -P Поручает системе завершить работу, а затем выключить.
  5. -H Если указан параметр -h, эта опция указывает, что система должна загружаться в монитор загрузки в системах, которые его поддерживают.
  6. -f Пропустить fsck после перезагрузки.
  7. -F Принудительно выполнить fsck после перезагрузки.
  8. -n Не вызывать init для завершения процессов; Инструктируйте shutdown, чтобы сделать это сам.
  • Использование этой опции не рекомендуется, и ее результаты не всегда предсказуемы.
  1. -c Отменить ожидающее завершение работы. (Это не относится к «shutdown now», который не ждет до выключения.) С помощью этой опции невозможно указать аргумент времени, но вы можете указать пояснительное сообщение, которое будет отправлено всем пользователям.
  2. t sec . Сообщать инициалисту, чтобы подождать секунд между процессами отправки предупреждения и сигнала уничтожения, прежде чем перейти на другой уровень запуска.
  3. time Аргумент time указывает, когда следует выполнять операцию выключения.

Время может быть отформатировано по-разному:

Во-первых, это может быть абсолютное время в формате hh: mm, где hh — это час (1 или 2 цифры, от 0 до 23), а mm — это минута часа (в двух цифрах).

Во-вторых, он может быть в формате + m, где m — количество минут, чтобы ждать.

Кроме того, теперь слово такое же, как указание +0; Он немедленно отключает систему.

  1. Message. Сообщение отправляемое всем пользователям, вместе со стандартным уведомлением о завершении работы.

Детали

Если выключение запланировано на будущее, он создаст консультативный файл / etc / nologin, который заставляет программы, такие как login, не допускать новых пользователей. Этот файл создается за пять минут до запуска последовательности выключения. Shutdown удаляет этот файл, если он остановлен до того, как он может сигнализировать об инициализации (то есть он отменен или что-то пошло не так). Он также удаляет его перед вызовом init для изменения уровня запуска.

Флаг -f означает «перезагрузка быстро». Это создает только консультативный файл / fastboot, который может быть проверен системой, когда он снова появится. Загрузочный rc-файл системы («rc» означает «runcom», который является сокращением от «run-команд») может проверить наличие этого файла и решить не запускать fsck, так как система была закрыта надлежащим образом. После этого процесс загрузки должен удалить / fastboot.

Флаг -F означает «force fsck». Это создает только консультативный файл / forcefsck, который может быть проверен системой, когда он снова появится. Загрузочный rc-файл может проверить, присутствует ли этот файл, и решит запустить fsck со специальным флагом «force», чтобы проверить правильность размонтированных файловых систем. После этого процесс загрузки должен удалить / forcefsck.

Флаг -n заставляет shutdown не вызывать init, а убивать все запущенные процессы. Shutdown отключит квоту, учет и обмены и размонтирование всех файловых систем.

Контроль доступа

Выключение может быть вызвано из init, когда нажата комбинация клавиш CTRL-ALT-DEL, если существует соответствующая запись в / etc / inittab. Это означает, что каждый, кто имеет физический доступ к консольной клавиатуре, может закрыть систему.

Чтобы это предотвратить, выключение может проверить, не зарегистрирован ли авторизованный пользователь. Если выключение вызывается с аргументом -a (добавьте это к вызову shutdown в / etc / inittab), он проверяет, есть ли файл / etc /shutdown.allow присутствует. Затем он сравнивает имена входа в этом файле со списком людей, которые вошли в систему на виртуальной консоли (из / var / run / utmp). Только если один из авторизованных пользователей или root входит в систему, он будет действовать. В противном случае оно будет писать сообщение

Shutdown: no authorized users logged in

На физическую консоль системы. Формат /etc/shutdown.allow — одно имя пользователя в строке. Пустые строки и строки комментариев (с префиксом #) разрешены. В настоящее время в этом файле есть ограничение для 32 пользователей.

Обратите внимание: если /etc/shutdown.allow отсутствует, аргумент -a игнорируется.

Выключение Linux и питания компьютера

Опция -H просто устанавливает переменную среды инициализации INIT_HALT в HALT, а параметр -P просто устанавливает эту переменную в POWEROFF. Скрипт shutdown, который вызывает halt в качестве последней вещи в последовательности выключения, должен проверить эти переменные среды и вызвать halt с правильными параметрами для этих параметров, чтобы на самом деле иметь какой-либо эффект.

Файлы

  • /fastboot
    /etc/inittab
    /etc/init.d/halt
    /etc/init.d/reboot
    /etc/shutdown.allow

Выключение Linux из командной строки: примеры

Запланируйте выключение системы в 8 часов утра.

Запланируйте выключение системы в 8 часов вечера.

shutdown +15 "Upgrading hardware, downtime should be minimal"

Запланируйте выключение системы через пятнадцать минут. Наряду с обычным уведомлением пользователей о завершении работы системы им будет дано описательное сообщение об обновлении оборудования.

Немедленно выключить Linux

Немедленно опустите систему и автоматически перезагрузите ее.

Немедленно выключите и автоматически отключите систему.

Связанные команды

  • Halt — Остановить компьютер.
  • Poweroff — Остановить компьютер.
  • Reboot — Остановить компьютер.
  • Wall — Отправить сообщение всем вошедшим в систему пользователям.

Перевод из замечательного английского ресурса computerhope .

Если у вас остались какие-то вопросы по теме «Выключение Linux из командной строки», то можете писать их нам в форму комментариев на сайте.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .

Выключение компьютера - действие, с которым обычные пользователи сталкиваются чуть ли не каждый день. Если выключать сервер приходится довольно редко, то обычные, десктопные компьютеры подвержены этой операции очень даже часто. Большинство пользователей выключают linux в графическом интерфейсе системы. В окружении рабочего стола KDE это делается через главное меню, а в Gnome и Unity даже есть специальная кнопка на панели для решения этой задачи.

Но не всегда есть возможность выключить компьютер linux таким образом. Например, если окружение рабочего стола не работает, то больше ничего не остается, кроме того, чтобы выполнять выключение компьютера из командной строки. К тому же выключение компьютера linux через терминал единственно возможный способ для серверов, где нет графического интерфейса. Как вы увидите, этот способ также намного гибче обычного выключения, поскольку вы можете настроить нужное время отключения, или же выключить компьютер, дождавшись завершения работы определенной программы.

Чтобы выключить компьютер Linux используется команда shutdown. Есть также команды poweroff, halt, но они для нестандартных случаев. Обычно же хватает одной только shutdown. Также выключить linux из консоли можно с помощью сочетаний клавиш SysRq. Но сначала давайте рассмотрим синтаксис команды shutdown.

Синтаксис команды очень простой:

$ shutdown [опции] [время] [сообщение]

Опции задают параметры отключения, их мы рассмотрим ниже. Время можно задавать в формате чч:мм в 24 часовом формате. Также можно использовать запись +минуты, указывающую через сколько минут от текущего момента нужно выключить компьютер linux. Также доступна константа now, указывающая, что выключать нужно прямо сейчас.

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

Опции

  • --help - вывести справку по программе
  • -H, --halt - отключить питание, не завершая процессы и не перемонтируя файловые системы
  • -P, --poweroff - нормальное выключение
  • -k - не выполнять реальных действий, а только вывести сообщение
  • --no-wall - выключить компьютер, но не выводить сообщение
  • -c - отменить запланированное выключение linux из командной строки

Вот в принципе и все опции утилиты, их больше чем достаточно для такого простого действия. Теперь можно переходить к примерам, но сначала давайте рассмотрим, что же происходит во время включения Linux.

Процесс выключения Linux

Естественно, команда shutdown linux или любая другая не самостоятельно завершает работу системы и выключает компьютер. Она всего лишь передает запрос на выключение системе инициализации, а затем ядру. А уже они выполняют ряд сложных операций по подготовке и выключению компьютера. Если кратко, то вот они:

  • Завершение процессов пользователя
  • Сигнал SIGTERM всем процессам
  • Сигнал SIGKILL всем процессам
  • Монтирование файловых систем в режиме только для чтения
  • Подготовка внешних устройств к отключению
  • Блокировка пространства пользователя, чтобы гарантировать, что ни один код пользователя больше не будет запущен
  • Завершение работы и отключение питания большинства периферических устройств
  • Отключение питания компьютера

Теперь вы понимаете суть процесса выключения и то почему нельзя просто выдернуть шнур питания с розетки. Если это сделать, компьютер отключится моментально и не выполнит всех необходимых операций, а это может грозить потерей не сохраненных или даже недавно сохраненных данных, повреждением файловой системы и т д. Поэтому желательно выключать компьютер правильно с помощью shutdown или других специальных утилит.

А теперь перейдем к примерам.

Выключение компьютера в Linux

1. shutdown

Самая простая и самая часто используемая команда выключения компьютера linux, отключит компьютер немедленно:

sudo shutdown -h now

Как видите, используется обычное выключение, и константа времени now, тоесть сейчас.

Теперь попробуем запланировать выключение компьютера linux через пять минут:

sudo shutdown -h +5 "Компьютер будет выключен через 5 минут"

Мы запланировали вывод сообщения перед выключением.

Теперь давайте отменим выключение компьютера Linux:

sudo shutdown -c

Точно так же мы можем указать точное время выключения, например в девять вечера:

sudo shutdown -h 21:00

Как я уже говорил, не только команда shutdown linux умеет выключать компьютер, есть еще несколько утилит способных на это. Рассмотрим их тоже.

2. reboot

Команда reboot обычно используется для перезагрузки системы, но она также умеет выключать компьютер. Мы не будем ее подробно рассматривать, потому, что она еще проще команды shutdown. Для выключения нужно задать опцию -p:

3. halt

Эта команда тоже выключает компьютер. Только делает она это очень по-своему. Она не выполняет никаких подготовительных действий перед выключением, а просто отключает питание:

Использование halt может повредить систему

4. poweroff

Это аналог halt, делает в точности то же самое:

5. SysRq

Помните, в начале статьи, я говорил о сочетании клавиш для включения компьютера? Рассмотрим этот вопрос подробнее.

SysRq - это подсистема, реализованная на уровне ядра. Ядро обрабатывает все нажатия клавиш, а с помощью этой подсистемы, оно может принимать от пользователя команды, даже когда система полностью зависла. Основное предназначение этой подсистемы - работа с компьютером в проблемных ситуациях, например, если вы думаете что ваш компьютер заразил вирус, или компьютер завис и его нужно выключить. Для доступа к SysRq используются сочетания клавиш Alt+PrtScr+номер

Самое интересное, что мы можем выполнить безопасное выключение компьютера linux. Для этого зажмите клавиши Alt + PrtScr и поочередно нажимайте:

  • R - разблокировать клавиатуру
  • E - послать всем процессам сигнал SIGTERM
  • I - послать всем процессам сигнал SIGKILL
  • S - перенести все данные из кеша файловых систем на диск
  • U - перемонтировать файловые системы только для чтения
  • B - перезагрузить

Также вместо всего этого можно воспользоваться сочетанием клавиш Alt+PrtScr+O , в таком случае, вся процедура будет выполнена автоматически, эта команда поддерживается не всеми ядрами.

Выводы

Теперь вы знаете все что нужно, о том, как выключить Linux через терминал. Если вас застигнет врасплох ошибка или зависание компьютера, вы знаете что делать. Если остались вопросы - пишите в комментариях!

И ногда при отладке проблемы или обновлении ядра может потребоваться перезагрузить систему Linux. Если у вас есть автономный сервер, вам нужно знать, как перезагрузить систему из командной строки.

В современных дистрибутивах утилита systemctl заменяет большинство команд управления питанием, используемых в старых дистрибутивах Linux, на sysvinit. Старые команды reboot и shutdown являются псевдонимами systemctl и доступны в системе по причинам совместимости.

В этой статье мы покажем вам, как использовать команды systemctl и shutdown для перезагрузки машины Linux. Команды должны запускаться от имени пользователя root или пользователя с .

Как перезагрузить Linux с помощью команды systemctl

Чтобы перезагрузить систему Linux, запустите утилиту systemctl с командой reboot:

sudo systemctl reboot

Система будет перезапущена немедленно.

Когда инициируется перезагрузка, все зарегистрированные пользователи и процессы уведомляются о том, что система выходит из строя, и дальнейшие входы в систему запрещены.

Чтобы запретить команде reboot отправлять сообщение, выполните команду с параметром –no-wall:

sudo systemctl --no-wall reboot

Если вы хотите установить собственное сообщение, объясняющее причину перезагрузки, используйте параметр –message=:

sudo systemctl --message="Обновление оборудования" reboot

Сообщение будет показано в журналах:

System is rebooting (Обновление оборудования)

Как перезагрузить Linux с помощью команды shutdown

Чтобы перезагрузить систему Linux, используйте команду shutdown с опцией -r:

sudo shutdown -r

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

Аргумент времени может иметь два разных формата. Это может быть абсолютное время в формате hh:mm и относительное время в формате, +m где m – это количество минут с этого момента.

В следующем примере будет запланирована перезагрузка системы на 10 часов утра:

sudo shutdown -r 10:00

Чтобы немедленно выключить вашу систему, используйте +0 ее псевдоним now:

sudo shutdown -r now

Чтобы отправить собственное сообщение вместе со стандартным уведомлением о завершении работы, введите свое сообщение после аргумента времени.

Следующая команда отключит систему через 10 минут и уведомит пользователей, что будет выполнено обновление оборудования.

Рассмотрим, как перезагрузить или выключить компьютер из командной строки. Я пользуюсь этим, когда при установке какого-нибудь драйвера или при сильной нагрузке на процессор, интерфейс перестает реагировать на мои действия (хотя это случается крайне редко). Можно убить «прожорливый» процесс через командную строку, но не всегда известно какой это процесс, поэтому быстрое решение это перезагрузка компьютера.

Перезагружаем компьютер

Я делаю так. Перехожу в консоль нажатием сочетания клавиш Ctrl+Alt+F1 . В консоли вы должны сначала ввести свой логин и пароль (при вводе пароля символы не отображаются). И выполняю команду:

Sudo reboot

Вам снова нужно будет ввести пароль администратора и нажать Enter. Начнется перезагрузка компьютера.

Для перезагрузки компьютера можно также использовать команду shutdown , для этого нужно использовать ключ -r :

Sudo shutdown -r now

Выключаем компьютер

Чтобы выключить компьютер из командной строки, то нужно выполнить команду:

Sudo shutdown -h now

Также компьютер можно выключить выполнив команду:

Sudo halt

А также можно использовать.