русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Rc:2345:wait:/etc/rc.d/rc.M


Дата добавления: 2014-11-28; просмотров: 688; Нарушение авторских прав


На всех многопользовательских уровнях, включая третий, предусмотрен запуск сценария /etc/rc.d/rc.M. В этом командном файле много похожих фрагментов, связанных с запуском сервисов по условию. Типовой фрагмент для Slackware Linux выглядит так:

# Start the sendmail daemon:

if [ -x /etc/rc.d/rc.sendmail ]; then

/etc/rc.d/rc.sendmail start

fi

Сценарий, запускаемый на каждом из уровней, должен завершить все текущие процессы и запустить другие, соответствующие новому уровню. Например, администратор в целях безопасной отладки системы с помощью команды telinit 1переходит из многопользовательского сетевого режима 3 на однопользовательский уровень 1. При этом все службы, «заведующие» многопользовательским сетевым режимом, должны завершиться (точнее – на уровне 1 никаких процессов кроме системных, init и /bin/sh не должно быть, т. е. при переходе на 1-й уровень никакие процессы и сервисы не стартуют).

В каталоге /etc/rc.d имеются директории с названиями rc0.d, rc1.d, rc2.d, rc3.d, rc5.d, rc6.d, где цифрами обозначены уровни выполнения. Все элементы каталогов rc#.d – символические ссылки. Сами сценарии находятся в каталоге /etc/init.d. Их имена начинаются буквами K (kill) и S (start). При входе на данный уровень запускаются сценарии на букву S, а при выходе с уровня – сценарии на букву K. Числа, следующие за буквой K или S, определяют порядок исполнения сценария.

При возникновении необходимости отключения на каком–либо уровне определенных служб необходимо удалить пару символических ссылок: одну на S, а другую на K (в RedHat это делает специальная утилита chkconfig). Если за запуск службы отвечает отдельный файл, его следует удалить или снять признак исполняемости. Если это делает фрагмент сценария, его можно закомментировать.

Все стартовые сценарии служб, которыми может воспользоваться система, принято хранить в каталоге /etc/rc.d/init.d. Эти сценарии используются для запуска или останова различных служб. Запустить или остановить службу можно, просто вызвав соответствующий сценарий с параметром start или stop. Часто ту же самую задачу выполняет и специальная утилита service, которая проверяет, есть ли указанный стартовый сценарий, и запускает его.



Из строчки с initdefault процесс init «узнает», что уровень выполнения по умолчанию – третий (многопользовательский консольный), и выполняет все строки из inittab, в поле «уровень исполнения» которых есть уровни 3. В частности, запускается сценарий rc.M из строки «rc:…». Метод запуска wait, поэтому процесс init ждет, пока не выполнится вышеуказанный сценарий, а потом продолжает разбор inittab.

Уровни 0 и 6 – специальные. Они соответствуют останову и перезагрузке системы. В сущности, это удобные упрощения для действий, обратных загрузке на базовый уровень: все службы останавливаются, диски размонтируются. Соответствующие каталоги rc0.d и rc6.d будут состоять почти сплошь из ссылок вида K*, но как минимум один сценарий, killall, будет запущен с параметром start. Этот сценарий остановит все процессы, которые не были остановлены K-сценариями: программы пользователей, демоны, запущенные администратором вручную, и т. п. Строки остановки служб в сценарии выглядят так:

# Stop the Apache web server:

if [ -x /etc/rc.d/rc.httpd ]; then

/etc/rc.d/rc.httpd stop

fi

 

# Shut down the SSH server:

if [ -x /etc/rc.d/rc.sshd ]; then

/etc/rc.d/rc.sshd stop

fi

Остальные уровни никоим образом в ОС Linux не описаны, однако администратор может использовать их, определяя особый профиль работы системы.

Переход с уровня на уровень выполняется по команде init N, где N – номер уровня. Иногда для этого используют команду telinit N, которая является символической ссылкой на init. Узнать текущий уровень выполнения можно с помощью команды runlevel.

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

<service> stop ,

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

В дистрибутиве Slackware необходимо снять флаг исполнения с соответствующего файла в каталоге /etc/rc.d/ или закомментировать строки запуска в файлах типа rc.M для демонов, не имеющих собственных сценариев запуска. Также не следует забывать про файл /etc/rc.d/rc.local.

Некоторые сетевые демоны запускаются посредством супердемона inetd (xinetd). Демоны, запускаемые из inetd, могут быть отключены путём комментирования соответствующих строк в файле /etc/inetd.conf.

Например, служба SSH запускается своим собственным скриптом /etc/rc.d/rc.sshd. Такую службу можно отключить, просто лишая этот файл права на исполнение:



<== предыдущая лекция | следующая лекция ==>
C6:12345:respawn:/sbin/agetty 38400 tty6 linux | Периодически запускаемые процессы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.038 сек.