RC0(1M) RC0(1M) НАЗВАНИЕ rc0 - процедура остановки системы СИНТАКСИС |/etc/rc0 ОПИСАНИЕ Процедура /etc/rc0 вызывается при изменениях уровня вы- полнения системы, предполагающих ее деактивацию перед выключением. Вообще говоря, имеется три уровня, требующих выполнения процедуры rc0: уровень 0 (остановка) уровень 5 (переда- ча управления программам в ПЗУ) уровень 6 (перезагруз- ка). Например, строка файла /etc/inittab может выгля- деть так: |r0:0:wait:/etc/rc0 1> /dev/console 0>&1 Некоторые из действий, производимых процедурой rc0, вы- полняются файлами из каталога /etc/shutdown.d (что яв- ляется атавизмом) и файлами, начинающимися с буквы K, из каталога /etc/rc0.d. Эти файлы выполняются в алфа- витном порядке [подробнее см. пункт ФАЙЛЫ в rc2(1M)], деактивируя соответствующие системные службы. Таким об- разом, способ остановки определяется комбинацией команд процедуры rc0 и файлов из каталога /etc/rc0.d. Рекомендуется, чтобы процедура rc0 выполняла следующую последовательность действий: 1. Прекращение работы системных служб и демонов Различные службы (планировщик принтеров, демон ре- гистрации ошибок и т.п.) нормально завершаются. Если в систему добавляются новые службы, требующие аккуратного завершения при остановке системы, в каталог /etc/rc0.d следует добавить соответствую щие файлы. 2. Завершение процессов Всем выполняемым процессам посылается сигнал за вершения SIGTERM, что дает им возможность аккурат но терминироваться. 3. Уничтожение процессов После паузы всем оставшимся процессам посылается сигнал уничтожения SIGKILL [посредством команды killall(1M)], перехватить или проигнорировать ко- торый нельзя. В результате предшествующих действий активными ос- таются лишь специальные системные процессы 0 и 1, а также процесс, связанный с /etc/rc0. 4. Размонтирование всех файловых систем Остается смонтированной только корневая (/) файло- вая система. Дальнейшие действия определяются уровнем выполнения (0, 5 или 6) и содержимым файла /etc/inittab. Если, как в случае уровня 0, в файле не определены дополнительные действия, операционная система ничего не делает и нет возможности получить ее отклик. Все, что можно сделать - это либо выключить питание, либо вызвать аппаратный монитор. Процедура rc0 может быть выполнена только суперпользо- вателем. СМ. ТАКЖЕ killall(1M), mountall(1M), rc2(1M), shutdown(1M). kill(1) в Справочнике пользователя. kill(2), inittab(4) в Справочнике программиста.