5 способов выключить компьютер Linux из командной строки
Linux

5 способов выключить компьютер Linux из командной строки

Ни одна операционная система не совершенна.Linux не является исключением, и в какой-то момент вам понадобится перезагрузка. Но как это сделать? Есть несколько команд выключения, доступных пользователям Linux

Ни одна операционная система не является совершенной. Даже если бы это было так, могут возникнуть проблемы с драйверами и приложениями.Linux не является исключением. Несмотря на то, что Linux более стабилен, чем Windows (во многих случаях, но не во всех!), вероятно, наступит время, когда вам понадобится перезагрузить компьютер Linux. Это может быть связано с тем, что что-то не работает. Или же вы можете быть подключены по SSH к удаленному компьютеру или серверу и хотите, чтобы он перезагрузился или полностью выключился

Но как это сделать? Для выключения или перезапуска (или перезагрузки) компьютера Linux через командную строку можно воспользоваться несколькими командами

Давайте рассмотрим их по очереди и разберемся, как и когда эти команды следует использовать

1. Выключение

Если вы закончили работу с вашим Linux-боксом, то для простого выключения его можно воспользоваться инструкцией shutdown, передаваемой по SSH (если вы используете ПК с Windows, то у вас есть несколько инструментов SSH на выбор). Эта команда может быть использована либо для постоянного выключения компьютера (до тех пор, пока вы не решите его перезагрузить), либо для перезагрузки. Синтаксис команды следующий:

shutdown  option   time   message 

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

shutdown -h now

Здесь -h означает остановку, а now явно означает, что команда должна быть выполнена немедленно. Можно использовать различные задержки. Например, можно использовать +5 , что даст команду компьютеру выполнить процедуру выключения через пять минут

Если вы хотите включить сообщение, оно будет выведено на экран для всех вошедших в систему пользователей:

shutdown -h +5'The server is shutting down, please save your work and log off.'

Помните, что полный список переключателей для этих команд можно найти, введя:

command  --help

Перезапуск с помощью -r

Альтернативным вариантом является использование команды -r для перезапуска компьютера. Она используется вместо -h , поэтому для перезапуска компьютера или сервера можно использовать:

shutdown -r +5'The server is restarting in five minutes, please save your work and log off.'

Любое запланированное выключение или перезапуск можно отменить, введя команду -c cancel:

shutdown -c

2. Перезагрузка

Поскольку команда shutdown имеет опцию перезагрузки, не стоит удивляться тому, что команда reboot имеет опцию выключения

Кредит изображения: Anton Khegay via Shutterstock.

Стандартной командой перезагрузки является:

reboot

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

reboot -p

Другой вариант – принудительная перезагрузка. Это может быть полезно, если приложение или служба зависли и вам нужно быстро перезагрузиться:

reboot -f

Это принудительно перезагрузит ваш Linux-бокс

3. Остановить

Мы уже видели выше переключатель -h , но halt можно использовать как самостоятельную команду. Это приведет к немедленному выключению компьютера с помощью простого слова из четырех букв:

halt

Переключатель -f также можно использовать с halt, но результаты будут непоследовательными и могут привести к проблемам стабильности системы

4. Выключение питания

Вы можете предпочесть терминологию команды poweroff. Она делает то же самое, что и команда halt, только набирается в два раза дольше

Однако, помимо использования -f для принудительного отключения питания, вы также можете использовать переключатель -w для записи вызова перезагрузки системы в /var/log/wtmp. Это потенциально полезный инструмент отладки, как и –verbose , который может помочь при проблемах с выключением

poweroff --verbose

5. Экстренный вариант: REISUB

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

Ответ заключается в комбинации клавиш. Если вы перешли с Windows, вы, вероятно, знаете, что Ctrl + Alt + Del отображает меню с опцией Выключение. Если удерживать их дольше, компьютер выключится автоматически. На компьютере Mac для этого достаточно удерживать кнопку питания (эта опция также работает на оборудовании Windows)

Изображение кредитное: JanHetman через Shutterstock.

В Linux для перезагрузки используется комбинация клавиш Alt + Print Screen + B. Однако, если это не сработало или возникла более сложная проблема, вы можете изменить комбинацию, используя до шести клавиш

Эта комбинация известна как REISUB, благодаря следующей принудительной аббревиатуре:

  • un R aw — Возвращает управление клавиатурой обратно серверу отображения X.
  • t E rminate — Посылает сигнал завершения SIGTERM всем процессам, чтобы завершить их изящно.
  • k I ll — Как выше, но сигнал SIGKILL, который принуждает процессы к немедленному завершению.
  • S ync — Сброс данных на диск.
  • U nmount — Перемонтирует все файловые системы в состояние ‘только для чтения’.
  • re B oot — Как и следовало ожидать.

Чтобы это сработало, нужно нажать Alt + Print Screen , затем клавиши R E I S U B в таком порядке. Между каждым нажатием оставляйте секунду или две. Обратите внимание, что этот метод обычно не работает на машинах с архитектурой ARM (например, Raspberry Pi)

Помогите, я случайно выключил свой Linux ПК или сервер!

Мы уже видели, как отменить команду выключения или перезагрузки. Однако легко обнаружить, что вы инициируете команду выключения, когда запущен жизненно важный процесс – особенно на удаленном сервере. Для решения этой проблемы можно установить molly-guard, который может отменить выключение, проверяя определенные параметры

Например, есть скрипт, который проверяет наличие SSH-сессий (которые отличаются от FTP). Если вы посылаете команду reboot, halt, poweroff или shutdown, molly-guard потребует указать имя узла, который вы собираетесь закрыть

Чтобы воспользоваться этим, установите molly-guard в терминале:

sudo apt-get install molly-guard

Поскольку molly-guard работает в фоновом режиме, он обнаружит такую команду, как poweroff , и сообщит, что обнаружен сеанс SSH. Затем у вас будет выбор: ввести имя хоста сервера для подтверждения выключения или нажать Ctrl + C для отмены. Полезно!

Эти пять способов выключения компьютера Linux из командной строки особенно полезны, поскольку их можно использовать как на самом компьютере, так и через удаленный SSH. Поскольку эти команды настолько лаконичны, что их можно использовать быстро – что время от времени может привести к случайной перезагрузке! К счастью, утилиты molly-guard достаточно, чтобы избежать этого

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

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий