mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

INITTAB(4)                                           INITTAB(4)

НАЗВАНИЕ 
        inittab - схема процесса init

ОПИСАНИЕ 
        Файл  /etc/inittab  содержит  сценарий  для  исполнения
        программой init(1M) роли главного диспетчера процессов.
        Самым заметным  из  диспетчеризуемых  является  процесс
        инициализации  терминальных  линий  /etc/getty.  Другие
        примеры - демоны и shell.

        Файл inittab состоит из строк, имеющих следующий формат
        (важен и порядок строк):

             имя:уровень_выполнения:действие:процесс

        Каждая  строка  оканчивается  символом перевода строки,
        однако его экранирование посредством символа \ позволя-
        ет иметь строки продолжения. В любом случае длина стро-
        ки не должна первышать 512 символов. В поле процесс мо-
        гут  быть  включены   комментарии   согласно   правилам
        shell'а. Комментарии к строкам, ответственным за запуск
        процесса getty(1M), показываются командой who(1). Пред-
        полагается, что в этих комментариях содержится информа-
        ция  о линии, например дислокация соответствующего тер-
        минала. На количество строк в файле inittab не наложено
        никаких ограничений (только на их  длину).  Поля  строк
        имеют следующий смысл:

        имя  Имя, состоящее из одного или двух символов, должно
             однозначно идентифицировать строку.

        уровень_выполнения 
             Это  поле определяет уровень выполнения, при кото-
             ром строка будет обрабатываться. Уровень  выполне-
             ния   непосредственно  соответствует  конфигурации
             процессов в системе. Каждому процессу, запущенному
             init'ом, присваивается уровень или уровни выполне-
             ния, при которых тот  может  существовать.  Уровни
             выполнения  обозначаются цифрами от 0 до 6. Напри-
             мер, если система находится на уровне 1, то  будут
             обработаны только строки, содержащие единицу в по-
             ле уровень_выполнения. Когда к init'у обращаются с
             запросом  о  смене уровня выполнения, всем процес-
             сам, которые не должны существовать на новом уров-
             не, посылается предупреждающий  сигнал  SIGTERM  и
             дается  20  секунд на завершение, после чего "лиш-
             ние" процессы принудительно терминируются сигналом
             SIGKILL. Можно указать несколько допустимых  уров-
             ней  выполнения, если задать ряд цифр из диапазона
             от 0 до 6. Если уровень_выполнения вообще не  ука-
             зан,  то  считается, что процесс может выполняться
             на любом уровне. Существует также три дополнитель-
             ных значения, a, b и c, которые могут быть указаны
             в данном поле, хотя они и  не  являются  реальными
             уровнями  выполнения.  Строки  с такими значениями
             уровня выполняются только по запросу процесса  te-
             linit [см. init(1M)] независимо от текущего уровня
             выполнения.  Отметим, что  уровни a, b, c не могут
             быть установлены, а запрос на выполнение  помечен-
             ных ими процессов не меняет текущий уровень выпол-
             нения.  Кроме того, подобные процессы не уничтожа-
             ются при  смене  уровня  выполнения.  Уничтожаются
             они,  только если соответствующие им строки содер-
             жат значение off в поле действие, если эти  строки
             удаляются из файла /etc/inittab, или если init пе-
             реходит в однопользовательский режим.

        действие 
             Ключевое слово в поле действие определяет  дисцип-
             лину обработки процесса, указанного в данной стро-
             ке. Программа init распознает следующие действия:

             respawn 
                Если процесс не существует, то  запустить  его,
                не  ждать завершения (продолжать просмотр файла
                inittab), после завершения процесса  перезапус-
                тить  его.  Если процесс уже существует, ничего
                не делать и продолжать просмотр файла inittab.

             wait 
                При переходе на уровень_выполнения, совпадающий
                с указанным в строке, запустить процесс и  ожи-
                дать его завершения. При всех последующих прос-
                мотрах  файла inittab на том же уровне выполне-
                ния игнорировать строку.

             once 
                При переходе на уровень_выполнения, совпадающий
                с указанным в строке, запустить  процесс  и  не
                ожидать его завершения. Когда процесс завершит-
                ся,  не  перезапускать  его. Если уровень будет
                изменен в момент, когда программа еще  выполня-
                ется  из-за предыдущей смены уровня выполнения,
                то она не перезапускается.

             boot 
                Эта строка будет обработана только один раз  во
                время  чтения init'ом файла inittab при началь-
                ной загрузке системы. Программа init  запускает
                процесс и не ожидает его завершения. Когда про-
                цесс  завершится,  он не перезапускается. Чтобы
                это действие выполнялось, поле уровень_выполне-
                ния  должно  быть  пустым  или  соответствовать
                уровню  выполнения  процесса init во время заг-
                рузки  системы.  Спецификацией  boot   помечают
                функции  инициализации, следующие за аппаратной
                загрузкой системы.

             bootwait 
                Эта  строка будет обработана один раз при пере-
                ходе init  из  однопользовательского  режима  в
                многопользовательский  после  загрузки системы.
                (Если действие initdefault соответствует уровню
                выполнения 2, то указанный в строке процесс бу-
                дет  запущен  сразу  после  загрузки  системы).
                Программа  init  запускает  процесс, дожидается
                его завершения и после этого  не  перезапускает
                процесс.

             powerfail 
                Выполнять указанный в строке процесс только при
                получении  init'ом  сигнала  об  ошибке питания
                SIGPWR.

             powerwait 
                Выполнять указанный в строке процесс только при
                получении init'ом  сигнала  об  ошибке  питания
                SIGPWR  и  продолжать  обработку  файла inittab
                лишь после завершения процесса.

             off 
                Если процесс, ассоциированный с данной строкой,
                выполняется,   ему  посылается  предупреждающий
                сигнал SIGTERM и дается 20 секунд  на  заверше-
                ние,  после чего он принудительно терминируется
                сигналом SIGKILL. Если процесс  не  существует,
                строка игнорируется.

             ondemand 
                Это действие является синонимом respawn, но ис-
                пользуется только со значениями a, b и c в поле
                уровень_выполнения.

             initdefault 
                Строка, в которой указано это действие, исполь-
                зуется только при первом обращении  к  процессу
                init.  Она определяет уровень выполнения, уста-
                навливаемый  первоначально:  выбирается  макси-
                мальная  из  цифр, указанных в поле уровень_вы-
                полнения. Если поле уровня пусто, оно  рассмат-
                ривается как содержащее 0123456 и, следователь-
                но,  устанавливается уровень выполнения 6. Если
                в файле /etc/inittab  нет  строки  с  действием
                initdefault,  то  начальное значение уровня вы-
                полнения запрашивается у пользователя в  момент
                загрузки системы.

             sysinit 
                Строки  этого  типа  выполняются перед тем, как
                init попытается получить доступ к  консоли  (то
                есть перед выводом приглашения Console login:).
                Обычно  подобные строки используются только для
                инициализации устройств, с которых  init  может
                попытаться запросить уровень выполнения. Коман-
                ды из этих строк выполняются с ожиданием завер-
                шения.

        процесс 
             Это команда shell'а, которую нужно выполнить.  Пе-
             ред  содержимым поля вставляется exec и передается
             shell'у в виде

                sh  -c 'exec процесс'

             Тем самым в поле процесс может стоять любая конст-
             рукция, синтаксически корректная  с  точки  зрения
             shell'а.  Чтобы употребить комментарий, нужно вос-
             пользоваться записью ;#комментарий.

СМ. ТАКЖЕ 
          exec(2), fork(2), open(2), signal(2).
          sh(1), who(1) в Справочнике пользователя.
          getty(1M), init(1M) в Справочнике администратора.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк