6.5 Завершение работы системы (Shutting Down the System)¶
Как и любую другую операционную систему, Linux необходимо завершать работу корректным образом. Это обеспечивает фактическое сохранение всех незавершённых операций записи на диск перед отключением питания системы.
Внимание
Если вы неожиданно отключите питание системы Linux, это может привести к повреждению файловой системы и появлению в ней несоответствий. Всегда используйте корректную процедуру завершения работы. Кроме того, настоятельно рекомендую оснастить свои системы источником бесперебойного питания (uninterruptible power supply, UPS). Это недорогое решение, которое спасёт вас в случае отключения электроэнергии. Поверьте мне — я знаю это на собственном опыте. Однажды я потерял незащищённый сервер из-за перебоя в подаче электроэнергии и был вынужден провести всю ночь, восстанавливая его из резервных лент. Никогда больше!
Для корректного завершения работы системы Linux можно использовать несколько команд, в том числе следующие:
init 0— переключает систему на уровень выполнения 0, что останавливает систему;init 6— переключает систему на уровень выполнения 6, что перезагружает систему;halt— завершает работу системы;reboot— перезагружает систему.
Помимо этих команд, для завершения работы или перезагрузки системы можно также использовать команду shutdown. По сравнению с перечисленными командами она обладает рядом ключевых преимуществ:
- Можно задать, чтобы система выключилась через определённый промежуток времени. Это даёт пользователям возможность сохранить работу и выйти из системы до её выключения. Кроме того, это позволяет запланировать выключение системы на конкретное время, даже если вас не будет рядом.
- Она позволяет отправить всем вошедшим в систему пользователям сообщение с предупреждением о предстоящем завершении работы.
- Она не позволяет другим пользователям войти в систему до запланированного завершения работы.
Синтаксис команды shutdown: shutdown +m –h|–r сообщение. Параметр +m задаёт количество минут до выключения системы. Вместо +m можно использовать параметр now, чтобы указать на немедленное выключение. Если требуется выключить систему в определённое время, +m можно заменить временем (в формате чч:мм), когда должно произойти выключение. Параметр –h указывает, что система должна быть остановлена, тогда как параметр –r указывает на перезагрузку. Примеры использования команды shutdown показаны ниже:
После ввода этой команды все остальные вошедшие в систему пользователи увидят следующее сообщение:
tux@ws1:~/Desktop>
Broadcast message from root@ws1 (pts/3) (Thu Feb 17 10:29:59 2011):
Please save your work and log out.
The system is going DOWN for system halt in 10 minutes!
Если вы запланировали завершение работы с помощью команды shutdown и впоследствии решили его отменить, введите shutdown –c в приглашении командной строки.
Можно также использовать команду wall для отправки пользователям сообщений с информацией о событиях системы, таких как перезагрузка или смена уровня выполнения. Для использования wall необходимо передать сообщение в стандартный ввод команды wall. Пример показан ниже:
Broadcast Message from rtracy@openSUSE
(/dev/pts/1) at 16:26 ...
The system is going down for a reboot.
Отличная работа! Вы на пути к сертификации LPIC-1/Linux+! Давайте подведём итоги изученного в этой главе.