Перезагрузка и останов системы
Категория: Запуск и останов системы | Автор: admin | 24-09-2009, 06:22 | Просмотров: 9556

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

Раньше UNIX-системы были очень щепетильны в отношении процедуры выключения. Современные системы более терпимы, но все же по возможности лучше корректно завершать работу. Неправильное выключение системы может привести к появлению труднообнаруживаемых, неочевидных ошибок, а иногда и к полному краху.

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

Перезагружаться необходимо в том случае, когда подключается новое устройство или работающее устройство зависает так, что его невозможно сбросить. Если модифицируется файл конфигурации, который используется только при начальной загрузке, то изменения вступят в силу лишь после перезагрузки. И на конец, если систему «заклинило» так, что в ней невозможно зарегистрироваться, иного выхода, кроме как перезагрузится, просто не существует.

В отличие от начальной загрузки, которая осуществляется одним-единственным способом, останов и перезагрузку системы можно выполнить по-разному:

  • выключить питание;

  • дать команду shutdown;

  • использовать команды halt и reboot (в BSD-системах и Linux);

  • послать программе init сигнал TERM;

  • изменить уровень выполнения программы init с помощью команды telinit (в системах семейства System V);

  • уничтожит процесс init

 

Выключение питания

 

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

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

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

 

Команда shutdown: корректный способ останова системы

 

Команда shutdown – самый безопасный и наиболее корректный способ остановить или перезагрузить систему либо вернутся в однопользовательский режим. К сожалению, трудно найти поставщика, который бы «не приложил руку» к ее аргументам. Мы рассмотрим эту команду в общем, а затем приведем сводку синтаксиса и аргументов, которые пригодятся при работе в какой-либо из описываемых систем.

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

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

В табл. 2.6 перечислены аргументы командной строки команды shutdown для шести рассматриваемых систем. Прочерк означает вариант по умолчанию.

 

Таблица 2.6. Многоликая команда shutdown

Система

Путевое имя

Пауза

П1

О

В

Без fsck

Solaris

/usr/sbin/shutdown

-gсекунд

-i6

-i0

-iS

-

HP-UX

/etc/shutdown

секунды

-r

-h

-

-

Red Hat

/sbin/shutdown

время

-r

-h

-

-f

FreeBSD

/sbi/shutdown

+минуты

-r

-h

-

-

1 П – перезагрузка, О – останов, В – вход в однопользовательский режим

 

Команда halt: более простой способ останова

 

Команда halt выполняет все основные операции, необходимые для останова системы. Чтобы вызвать эту команду, можно в командной строке указать shutdown -h или непосредственно halt. Команда halt регистрирует в журнальном файле событие останова, уничтожает несуществующие процессы, выполняет команду sync (она, в свою очередь, осуществляется вызов sync), дожидается завершения операций дисковой записи, а затем прекращает работу ядра.

При указании команды halt -n системный вызов sync подавляется. Эта команда используется после восстановления корневого раздела командой fsck, чтобы ядро не могло затереть исправления старыми версиями раздела, хранящимися в кэше. Команда halt -q инициирует почти немедленный останов без синхронизации, уничтожения процессов и регистрации событий. Флаг -q используется редко.

 

Команда reboot: быстрый перезапуск

 

Команда reboot почти идентична команде halt. Разница заключается в том, что система перезагружается, а не останавливается. Режим перезагрузки вызывается также командой shutdown -r. помимо этого, команда shutdown поддерживает флаги -n и -q.

 

Передача программе init сигнала TERM

 

Результаты уничтожения программы init непредсказуемы и в большинстве случаев очень вредны. Перед тем как посылать этой программе какой-либо сигнал, обратитесь к документации. Когда BSD-версия программы init получает сигнал TERM, она обычно уничтожает все пользовательские процессы, демоны, процессы getty и переводит систему в однопользовательский режим. То же самое делает команда shutdown.

Для того чтобы послать процессу сигнал, нужно с помощью команды ps узнать идентификатор этого процесса. Программа init – это всегда процесс номер один. С целью отправки сигнала воспользуйтесь командой kill:

# sync; sync

# kill –TERM 1


 

 

Команда telinit: изменение уровня выполнения программы init

 

В системах, где программа init поддерживает несколько уровней выполнения, можно с помощью команды telinit дать программе указание перейти на конкретный уровень. Например, команда

# telinit S

переводит систему в однопользовательский режим в Solaris и HP-UX. В Red –Hat необходимо указать 1, а не S, иначе будет запущен интерпретатор shell с правами пользователя root, а сам уровень изменен не будет:

# telinit 1

 

То же самое можно сделать с помощью команды

# shutdown –i1

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

Команда telinit наиболее полезна при проверке изменений, внесенных в файл inittab. При наличии флага -q команда заставит программу init повторно прочитать этот файл.

 

Уничтожение процесса init

 

Процесс init настолько важен для работы системы, что если его уничтожить с помощью команды kill -KILL или kill -9, то большинство систем автоматически перезагрузится (некоторые ядра при этом просто выдают сообщение о панике – фатальной ошибке). Это очень «грубый» способ перезагрузки. Лучше пользоваться командами shutdown и reboot.



 (голосов: 1)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page