10.4 Выключение, приостановка и спящий режим
В RHEL 7 утилита systemctl заменила команды управления питанием из предыдущих версий дистрибутива. Команды, представленные в Таблице 10.8 “Сопоставление команд управления питанием с systemctl” также доступны в системе, но, по-возможности, рекомендуется использовать systemctl.
Таблица 10.7 Сопоставление команд управления питанием с systemctl
Старая команда
|
Новая команда
|
Описание
|
halt
|
systemctl halt
|
Останавливает систему
|
poweroff
|
systemctl poweroff
|
Выключает систему
|
reboot
|
systemctl reboot
|
Перезагружает систему
|
pm-suspend
|
systemctl suspend
|
Приостанавливает систему
|
pm-hibernate
|
systemctl hibernate
|
Отправляет систему в спящий режим
|
pm-suspend-hybrid |
systemctl hybrid-sleep |
Отправляет в спящий режим и приостанавливает систему |
10.4.1.Выключение системы
Утилита systemctl предоставляет команды для выключения системы, однако традиционная команда shutdown также поддерживается. Хотя команда shutdown вызовет утилиту systemctl для выключения системы, она все же имеет преимущество т.к. поддерживает аргумент времени.
Это особенно полезно для планового обслуживания и дает пользователю время отреагировать на предупреждение системы о завершении работы. Преимуществом также является возможность отмены выключения.
Использование команды systemctl
Чтобы отключить систему и выключить машину введите в командной строке от root’а:
systemctl poweroff
Чтобы выключить и остановить систему без выключения компьютера, запустите следующую команду от root’а:
systemctl halt
По умолчанию каждая из этих команд заставляет systemd отправлять информационное сообщение всем пользователям, которые вошли в систему. Чтобы предотвратить отправку этого сообщения, запустите выбранную команду с опцией –no-wall, например:
systemctl --no-wall poweroff
Использование команды shutdown
Чтобы отключить систему и выключить машину в определенное время, выполните от root’а:
shutdown --poweroff hh:mm
Где hh:mm – время в 24-часовом формате. Ща 5 минут до выключения системы содается файл /run/nologin, который предоствращает вход в систему. При использовании аргумента времени можно добавить сообщение.
Чтобы выключить и остановить систему с задержкой, без отключения компьютера, используйте следующую команду от root:
shutdown --halt +m
Где +m время задержки до выключения в минутах. Вместо now можно также использовать +0. The now keyword is an alias for +0.
Ожидание завершения работы может быть отменено от root’а следующим образом:
shutdown -c
См. страницу мануала shutdown(8) (man shutdown), чтобы посмотреть дополнительные параметры команды.
10.4.2. Перезагрузка системы
Чтобы перезапустить систему, наберите от root’а:
systemctl reboot
По умолчанию эта команда заставляет systemd отправлять информационное сообщение пользователям, которые залогинены в системе. Чтобы предовратить отправку сообщения, выполните эту команду с опцией --no-wall:
systemctl --no-wall reboot
10.4.3. Приостановка системы
Чтобы приостановить систему, наберите от root’а:
systemctl suspend
Эта команда сохраняет состояние системы в ОЗУ и отключает большую часть устройств, за исключением модуля ОЗУ. Когда вы снова включаете машину, система восстанавливает свое состояние из ОЗУ без повторной загрузки. Поскольку состояние системы сохраняется в ОЗУ, а не на жестком диске, восстановление системы из режима приостановки значительно быстрее, чем восстановление ее из спящего режима, но, как следствие, состояние приостановленной системы также уязвимо для отключения питания.
10.4.4. Спящий режим
Чтобы отправить систему в спящий режим:
systemctl hibernate
Эта команда сохраняет состояние системы на жесткий диск и отключает машину. Когда вы включаете машину снова, система восстанавливает это состояние из сохраненных данных без повторной загрузки. Поскольку состояние системы сохраняется на жестком диске, а не в ОЗУ, машине не требуется электроэнергия для ОЗУ, но, как следствие, восстановление системы из спящего режима происходит значительно медленнее, чем восстановление из режима ожидания.
Чтобы отправить в спящий режим и приостановить систему, выполните от root’а:
systemctl hybrid-sleep
(Прим.пер. – я так понимаю, это своего рода перестраховка. Система приостановлена, но при сбое питания у нас есть сохраненное состояние системы на харде.)