
Закрытие системы
Операционная система Solaris была разработана для непрерывной работы: семь дней в неделю, 24 часа в сутки. Однако иногда возникает необходимость закрытия системы для выполнения задач администрирования. В других случаях какое-нибудь приложение может явиться причиной некорректной работы системы, поэтому операционная система должна быть остановлена для уничтожения запущенных процессов, а затем - перезапущена.
Некорректное выполнение закрытия системы может привести к потере данных и повреждению файловых систем.
Вы можете закрыть систему несколькими способами, используя для этого различные команды UNIX. Для Solaris важным является правильная последовательность выполнения операций закрытия. Когда система загружается, происходит запуск сразу нескольких процессов. Они должны быть закрыты до выключения питания компьютера. Кроме того, возможно, что информация кэшировалась в памяти и еще не переписана на диск. Процесс закрытия Solaris включает в себя закрытие запущенных процессов, сброс информации (из памяти) на диск и демонтирование файловых систем.
СОВЕТ
Для исключения риска неправильного закрытия системы при аварии электропитания используйте источник бесперебойного питания - UPS (uninterruptible power supply), который способен должным образом закрыть систему перед отключением питания.
Команды закрытия системы
При подготовке к закрытию необходимо определить, какие из перечисленных ниже команд подходят для конкретной системы и ближайшей задачи:
/usr/sbin/shutdown
/sbin/init
/usr/sbin/halt
/usr/sbin/reboot /usr/sbin/poweroff
Stop+A или Ll+А (эти команды следует использовать в качестве последнего средства; обратите внимание на следующее предупреждение).
Первые три команды инициируют процедуры закрытия системы, завершают все запущенные процессы, записывают данные на диск и закрывают системное программное обеспечение до соответствующего уровня запуска. Команда /usr/sbin/reboot выполняет все вышеперечисленные задачи, однако затем она выполняет повторную загрузку системы в состояние, определенное по умолчанию как initdefault в файле /etc/inittab. Причем команда /usr/ sbin/poweroff эквивалентна команде init 5. Последняя команда, которая фактически представляет собой последовательность нажагий клавиш, безусловно останавливает систему.
Команда /usr/sbin/shutdown
Используйте команду shutdown в случае закрытия многопользовательской системы. Команда shutdown посылает предупреждающее сообщение всем пользователям, зарегистрированным в системе, ожидает 60 секунд (по умолчанию), а затем закрывает систему до однопользовательского состояния. Опция этой команды (-g) позволит выбрать другое значение времени ожидания по умолчанию. Опция -i позволяет определить состояние init, до которого будет закрыта система, по умолчанию - до уровней запуска.
Команда shutdown выполняет "чистое" закрытие системы - это означает, что все системные процессы и службы завершаются нормально и файловые системы синхронизируются. Для использования команды shutdown необходимо иметь привилегии суперпользователя.
Когда инициируется команда shutdown, все пользователи, вошедшие в систему с помощью опции -п, и все монтированные системные ресурсы получают некоторое предупреждение о предстоящем закрытии системы, а затем они получают некоторое окончательное сообщение. Исходя из выше изложенного, на сервере с несколькими пользователями команду shutdown рекомендуется применять через команду init.
Шаг за шагом
1.3. Закрытие системы
1. В качестве суперпользователя, чтобы обнаружить зарегистрированных пользователей, введите следующую команду:
# who
2. На экране отображается список пользователей, зарегистрированных в системе. Возможно вы захотите отправить почтовое или какое-нибудь широковещательное сообщение для информирования пользователей о закрытии системы.
3. Закройте систему, воспользовавшись следующей командой закрытия:
# shutdown -i
Команда /sbin/init
Используйте команду init для закрытия системы, работающей в однопользовательском режиме, или для изменения уровня запуска системы. Синтаксис этой команды имеет следующий вид:
init
Параметр
Вы можете использовать команду init для перевода системы в состояние выключения питания (init 0) или в состояние однопользовательского режима (init 1). Например, для перевода системы с текущего уровня запуска на уровень запуска 1 введите следующую команду:
init 1
Отклик системы будет иметь следующий вид:
INIT: New run level: 1
Changing to state 1.
Unmounting remote filesystems: /vol nfs done.
System services are now being stopped.
Mar 14 13:13:22 unknown /usr/sbin/vold[475]: problem unmounting /vol;
Interrupted system call
Mar 14 13:13:22 unknown pseudo: pseudo-devioe: todO
Mar 14 13:13:22 unknown genunix: todO is /pseudo/tod@0
Mar 14 13:13:22 unknown pseudo: pseudo-device: pmO
Mar 14 13:13:22 unknown genunix: pmO is /pseudo/pm@0
Print services stopped.
Команда /usr/sbin/halt
Используйте команду halt, когда система должна быть остановлена немедленно, но при этом можно не оповещать текущих пользователей. Команда halt закрывает систему без задержки и не предупреждает других пользователей о ее закрытии.
Команда /usr/sbin/reboot
Используйте команду reboot для закрытия системы, работающей в однопользовательском режиме, и последующего перевода ее в многопользовательский режим. Команда reboot не предупреждает других пользователей системы о ее закрытии.
В Solaris команды reboot и halt выполняют безусловное закрытие системных процессов. Эти команды закрывают систему гораздо быстрее, чем команда shutdown, однако делают это не так аккуратно, поскольку эти команды не выполняют сценарии прекращения процессов, которые находятся в каталогах /etc/rc
В некоторых случаях быстрота такой перезагрузки является удобной при определенных обстоятельствах, таких как выполнение перезагрузки из состояния однопользовательского режима. Кроме того, удобной является возможность передачи аргументов в среду OpenBoot через команду reboot; например, команда
reboot -- -rs
будет выполнять перезагрузку системы на уровень запуска s.
Команда /usr/sbin/poweroff
Команда poweroff эквивалентна команде init 5.
Похожие темы

