Как использовать команды shutdown poweroff, halt и reboot в Linux

В этой статье мы объясним разницу между командами shutdown poweroff, halt и reboot в Linux. Мы расскажем, что на самом деле делает каждая из этих команд при выполнении, а также о доступных опциях.
Если вы изучаете администрирование серверов Linux, вот некоторые важные команды Linux, которые вам необходимо полностью понимать для эффективного и надёжного администрирования серверов.
Совет: для большинства команд, связанных с завершением работы, требуется sudo если вы не вошли в систему как пользователь root.
Команда выключения
Команда shutdown устанавливает время выключения системы, которое можно использовать для остановки, выключения или перезагрузки устройства.
В качестве первого аргумента можно указать строку со временем (обычно «now» или «hh:mm«). Кроме того, вы можете добавить сообщение на стену, чтобы уведомить всех вошедших в систему пользователей до отключения системы.
: если используется аргумент времени, система создаёт файл /run/nologin за 5 минут до завершения работы, что предотвращает вход новых пользователей в систему во время её подготовки к завершению работы.
Примеры команды shutdown:
shutdown # Запланируйте завершение работы shutdown now # Завершение работы немедленно shutdown 13:20 # Завершение работы в 13:20 shutdown -P сейчас # Выключите компьютер shutdown -H сейчас # Приостановите работу компьютера shutdown -r в 09:35 # Перезагрузка в 9:35 утра
Чтобы отменить ожидающее завершение работы, просто введите приведенную ниже команду:
shutdown -c
Обзор параметров выключения:
-r: Перезагрузка после завершения работы.-h: Остановка или выключение питания (решение принимает система).-H: Остановите систему.-P: Выключите питание системы.-c: Отмените текущее завершение работы.-k: Отправлять только предупреждающие сообщения (без выключения).
Примечание по исправлению ошибок: распространенной ошибкой является использование shutdown -p, что недопустимо. Правильный вариант для выключения — shutdown -P.
Команда halt
Команда halt указывает системе остановить все функции процессора. В большинстве случаев система остаётся включённой, что полезно для низкоуровневого обслуживания. Однако, в зависимости от конфигурации системы, она может полностью выключить систему.
Ниже приведены примеры команды halt:
halt # Остановить машину halt -p # Выключить машину halt --reboot # Перезагрузить машину
Команда poweroff
Команда poweroff отправляет сигнал ACPI для выключения системы.
Ниже приведены примеры команды poweroff:
poweroff # Выключить компьютер poweroff --halt # Остановить компьютер poweroff --reboot # Перезагрузить компьютер
Команда reboot
Команда reboot предписывает системе перезагрузиться.
reboot # Перезагрузка устройства reboot --halt # Остановку устройства reboot -p # Выключение устройства
Примечание по совместимости для современных систем
Если вы используете современный дистрибутив Linux, в котором применяется systemd (например, Ubuntu, Debian, Fedora, Arch и т. д.), рекомендуется использовать эквивалентные команды systemctl для завершения работы, перезагрузки и приостановки.
Эти команды больше соответствуют системному диспетчеру служб и обеспечивают большую согласованность:
sudo systemctl poweroff # Выключить систему sudo systemctl reboot # Перезагрузить систему sudo systemctl halt # Приостановить работу системы
Эти альтернативы работают надежно и считаются наилучшей практикой в системах на базе systemd.
Выводы
Понимание принципов работы этих команд управления системой крайне важно для администрирования Linux-серверов, особенно в многопользовательской среде.
Вот краткое резюме:
| Команда | Описание |
|---|---|
shutdown | Запланируйте остановку, перезагрузку или отключение питания |
halt | Остановка функций процессора (может не выключаться) |
poweroff | Отправьте сигнал ACPI для отключения питания |
reboot | Перезапустите систему |
Вот и всё! С помощью этих команд вы сможете надёжнее управлять системами Linux. Есть дополнительные советы или опыт, которыми вы хотите поделиться? Напишите их в комментариях ниже!
Редактор: AndreyEx