Поиск по сайту:

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


Хотите начать сначала? В этом руководстве показано, как аккуратно и безопасно перезагрузить или выключить компьютер с Linux или macOS из командной строки.

Мы идем вниз

Иногда вам просто нужно выполнить перезагрузку или полное отключение. Если вы работаете на сервере без графического интерфейса или используете сеанс SSH с удаленным компьютером, командная строка — ваш единственный вариант. Linux и Unix-подобные системы, такие как macOS, предоставляют несколько команд для выключения или перезагрузки системы прямо из командной строки.

Команды, которые вы можете использовать:

  • выключение
  • перезагрузить
  • остановить
  • выключить

Просмотр справочных страниц для этих команд может привести к путанице. В зависимости от того, какие параметры командной строки вы выберете, все эти команды могут выполнять выключение, перезагрузку и остановку системы. На самом деле справочные страницы для reboot, halt и poweroff содержат точно такую же информацию.

Что стоит за этим?

Ответ кроется в системе начальной загрузки systemd, которая заменила почтенную систему System V init. В мире Linux Fedora начала использовать systemd в 2011 году. С тех пор он был принят во многих дистрибутивах. Debian и Ubuntu перешли на systemd в 2015 году.

В дистрибутивах на основе systemd команды shutdown, reboothalt и poweroff фактически являются ярлыками, указывающими на команду systemctl. Сохранение этих команд обеспечивает определенную степень совместимости с дистрибутивами на основе System V init. Это означает, что сценарии оболочки (и заядлые системные администраторы System V) не падают, если они перенесены на компьютер с работающим на нем дистрибутивом systemd.

Использование выключения

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

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

По умолчанию команда shutdown обеспечивает корректную остановку всех процессов, синхронизацию всех файловых систем и прекращение работы ЦП. Это состояние «остановки». Затем он отправляет аппаратному обеспечению сообщение об отключении питания. Это, конечно же, состояние выключения или «выключения питания».

Обычно shutdown передаются некоторые параметры, такие как строка времени и сообщение, которое будет отправлено вошедшим в систему пользователям, чтобы предупредить их о завершении работы. Давайте запланируем отключение через 15 минут. Введите shutdown , пробел, +15, пробел, а затем сообщение для отправки пользователям.

shutdown +15 Shutting down in 15 minutes!

Строка времени, которую мы использовали, была +15 , что соответствует 15 минутам. + является необязательным. Мы могли бы ввести 15.

Мы получаем ответ, подтверждающий, что отключение запланировано и когда оно произойдет. Вошедшие в систему пользователи получат сообщение, которое мы предоставили.

Чтобы отменить выключение, используйте параметр -c (отмена).

shutdown -c

Хотя вы не получаете никакого уведомления об отмене выключения, ваши вошедшие в систему пользователи получают уведомление.

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

shutdown

Если вы не можете ждать даже минуту, вы можете использовать now в качестве строки времени, и отключение вступит в силу немедленно. Использование сейчас похоже на использование +0.

Строка времени может быть заданным временем, например 23:00. Он должен соответствовать формату HH:MM и должен быть в 24-часовом формате. За пять минут до отключения системы новые входы в систему предотвращаются.

Мы знаем, что действие по умолчанию shutdown заставляет компьютер перейти в состояние остановки, а затем в выключенное состояние. Мы можем переопределить это поведение, передав ему другие параметры командной строки.

  • Параметр -H (halt) переводит компьютер в состояние останова, но не требует выключения оборудования.
  • Нажатие -P (выключение питания) является действием по умолчанию . Компьютер останавливается, а затем отключается.
  • Команда -r  (перезагрузка) переведет компьютер в состояние остановки, а затем перезагрузит его.
  • Параметр -h (остановка и отключение питания) аналогичен -P. Если вы используете -h и -H вместе, параметр -H имеет приоритет.
  • Параметр -c (отмена) отменит любое запланированное завершение работы, остановку или перезагрузку.

Вот пример, когда мы запланировали перезагрузку.

shutdown -r 08:20 System rebooting at 08:20

Команды перезагрузки, остановки и отключения питания

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

Если вы хотите перезагрузиться сейчас, используйте reboot . Если вы хотите отключить питание сейчас, используйте poweroff, а если вы хотите остановить систему сейчас, используйте halt.

reboot
halt
poweroff

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

Какая команда мне подходит?

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

RELATED: Best Linux Laptops for Developers and Enthusiasts