Inittab-Linux / Unix команда

inittab - формат на inittab файла, използван от sysv-съвместимия init процес

описание

Файлът inittab описва кои процеси се стартират при стартиране и нормална работа (напр. /etc/init.d/boot, /etc/init.d/rc, gettys ...). Init (8) различава множество нива на изпълнение , всеки от които може да има свой собствен набор от процеси, които са започнали. Валидните нива на полета са 0 - 6 плюс A , B и C за записи, които не са задължителни . Записът в инитатовия файл има следния формат:

ID: нива на работа: действие: процес

Линии, започващи с "#", се игнорират.

id е уникална последователност от 1-4 символа, която идентифицира запис в inittab (за версиите на sysvinit, компилирани с библиотеки <5.2.18 или a.out библиотеки, границата е 2 знака).

Забележка: За gettys или други процеси на влизане, id полето трябва да бъде tty наставка на съответния tty, например 1 за tty1 . В противен случай, счетоводното отчитане може да не работи правилно.

на ниво нива се показват списъците за нива, за които трябва да се предприемат посочените действия.

действието описва действията, които трябва да бъдат предприети.

процесът определя процеса, който трябва да бъде изпълнен. Ако полето за процес започва с "+" знак, init няма да направи utmp и wtmp отчитане на този процес. Това е необходимо за gettys, които настояват да правят свои собствени utmp / wtmp домакинство. Това също е историческа грешка.

Полето на ниво нива може да съдържа няколко знака за различни нива на изпълнение. Например, 123 указва, че процесът трябва да се стартира на нива 1, 2 и 3. Нивата на изпълнение за записи, които не са достъпни , могат да съдържат A , B или C. Полето на ниво на заредените със sysinit , boot и bootwait записи се игнорират.

Когато се промени нивото на управление на системата, всички процеси, които не са зададени за новата управляваща нива, се убиват, първо със SIGTERM, след това със SIGKILL.

Валидните действия за полето за действие са:

Respawn

Процесът ще бъде рестартиран при всяко прекратяване (напр. Getty).

изчакайте

Процесът ще се стартира веднъж, когато се въведе зададеното ниво на изпълнение и init ще изчака прекратяването му.

веднъж

Процесът ще се изпълни веднъж, когато се въведе зададеното ниво на изпълнение.

ботуш

Процесът ще бъде изпълнен по време на зареждане на системата. Полето на нива на полета е игнорирано.

bootwait

Процесът ще бъде изпълнен по време на зареждане на системата, докато init чака за завършването му (напр. / Etc / rc). Полето на нива на полета е игнорирано.

от

Това не прави нищо.

OnDemand

Процесът, отбелязан с нивото на изпълнение, ще бъде изпълнен винаги, когато се извиква зададеното ниво на изпълнение. Въпреки това няма да настъпи промяна на ниво ниво на изпълнение (нива на изпълнение на ниво "a", "b" и "c").

initdefault

Въведеният по подразбиране запис определя нивото на изпълнение, което трябва да се въведе след зареждане на системата. Ако няма такъв, init ще поиска за управление на конзолата. Полето на процеса се игнорира.

sysinit

Процесът ще бъде изпълнен по време на зареждане на системата . Той ще бъде изпълнен преди всяко зареждане или bootwait записи. Полето на нива на полета е игнорирано.

powerwait

Процесът ще бъде изпълнен, когато захранването падне. Init обикновено е информиран за това чрез процес, говорещ с UPS, свързан към компютъра. Init ще изчака процесът да завърши, преди да продължи.

powerfail

Що се отнася до powerwait , с изключение на това, че init не чака приключването на процеса.

powerokwait

Този процес ще бъде изпълнен веднага щом се информира, че мощността е възстановена.

powerfailnow

Този процес ще бъде изпълнен, когато се каже, че батерията на външния UPS е почти празна и захранването е неуспешно (при условие че външният UPS и процесът на мониторинг са в състояние да открият това състояние).

ctrlaltdel

Процесът ще бъде изпълнен, когато init получи сигнала SIGINT. Това означава, че някой от системната конзола е натиснал клавишната комбинация CTRL-ALT-DEL . Обикновено човек иска да извърши някакъв вид изключване , за да влезе в еднопотребителско ниво или да рестартира машината.

kbrequest

Процесът ще бъде изпълнен, когато init получи сигнал от манипулатора на клавиатурата, че на клавиатурата на конзолата е натиснана специална комбинация от клавиши.

Документацията за тази функция все още не е завършена; повече документация може да се намери в пакетите kbd-x.xx (последният беше kbd-0.94 по време на това писане). По принцип искате да настроите комбинация от клавиатури към действието "KeyboardSignal". Например, за да настроите Alt-Uparrow за тази цел, използвайте следното във файла с ключови карти:

alt keycode 103 = Клавиатурен сигнал

ПРИМЕРИ

Това е пример за inittab, който прилича на старата Linux inittab:

# inittab за linux id: 1: initdefault: rc :: bootwait: /etc/rc 1: 1: respawn: / etc / getty 9600 tty1 2: 1: respawn: / etc / getty 9600 tty2 3: 1: respawn: и т.н. / getty 9600 tty3 4: 1: respawn: / etc / getty 9600 tty4

Този inittab файл изпълнява / etc / rc по време на стартиране и стартира gettys на tty1-tty4.

По-сложна inittab с различни нива на управление (вж. Коментарите вътре):

# Ниво за изпълнение в id: 2: initdefault: # Инициализация на системата преди всичко друго. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 се спира и рестартира, 1 е режим на поддръжка. l0: 0: wait: /etc/rc.d/rc.halt l1: 1: изчакайте: /etc/rc.d/rc.single l2: 2345: wait: /etc/rc.d/rc.multi l6: 6: изчакайте: /etc/rc.d/rc.reboot # Какво да направите при поздрав "3 пръста". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf сега # Runlevel 2 & 3: getty на конзолата, ниво 3 също getty на модем порт. 1: 23: respawn: / sbin / getty tty1 VC linux 2: 23: respawn: / sbin / getty tty2 ВС linux 3: 23: respawn: / sbin / getty tty3 VC Linux 4:23: respawn: / sbin / getty tty4 VC linux S2: 3: respawn: / sbin / uugetty ttyS2 M19200

Вижте също

init (8), telinit ( 8)

Важно: Използвайте командата човек ( % man ), за да видите как се използва команда на вашия компютър.