Inittab-Linux / Unix Command

sysv-нийцтэй init процессод ашигласан inittab файл дахь inittab - format

Тодорхойлолт

Inittab файл нь процессууд эхлүүлэх үед болон процессийн үед ямар процессуудыг эхлүүлдэг болохыг тайлбарладаг (өөрөөр хэлбэл /etc/init.d/boot, /etc/init.d/rc, gettys ...). Init (8) нь олон давхравлелыг ялгаж чаддаг бөгөөд тэдгээр нь тус бүрийг эхлүүлсэн процессуудтай байдаг. Хүчин чадал нь 0 - 6 дээр нэмэх нь A , B , C нь ondemand оруулгууд юм. Inittab файл дахь оруулга нь дараах хэлбэртэй байна:

id: runlevels: action: process байна

`# '-р эхэлсэн мөрүүдийг үл тоомсорлодог.

id нь inittab дахь оруулгыг тодорхойлдог 1-4 тэмдэгтийн өвөрмөц дараалал юм (сангууд <5.2.18 эсвэл a.out сангууд хязгаартай 2 тэмдэгт байдаг).

Тэмдэглэл: gettys эсвэл бусад нэвтрэх процессуудын хувьд id талбар нь харгалзах tty-ийн tty дагавар байх болно, өөрөөр хэлбэл tty1 хувьд 1 байна. Үгүй бол нэвтрэлтийн нягт нямбай ажиллахгүй байж магадгүй.

runlevels нь тодорхой үйлдэл хийх шаардлагатай давхраатай жагсаалтыг гаргадаг.

Үйлдэл нь ямар арга хэмжээ авахыг тодорхойлно.

үйл явцыг гүйцэтгэх процессыг тодорхойлдог. Хэрэв процесийн хэсэг нь `+ 'тэмдэгтээр эхэлбэл init нь тэр процессийн хувьд utmp болон wtmp -ийг хийхгүй. Энэ нь өөрийн utmp / wtmp гэрийн ажил хийхийг шаарддаг gettys хэрэгцээтэй юм. Энэ нь мөн түүхэн алдаа юм.

Runlevels талбар нь өөр өөр давтамжийн зурвасуудыг агуулдаг. Жишээлбэл, 123 , процессыг 1, 2, 3-р давтамжтайгаар эхлүүлэх ёстой гэдгийг тодорхойлсон байдаг. Онлайн дахь давтамжийн зурвасууд нь A , B , эсвэл C агуулж болно. Sysinit -ийн runlevels талбар, ачаалалт болон bootwait оруулгуудыг орхигдуулдаг.

Системийн гадаргуу өөрчлөгдвөл шинэ түвшингийн түвшинд зааж өгөөгүй процессууд эхлээд SIGTERM-тай, дараа нь SIGKILL-тай цуг явдаг.

Үйлдлийн талбарт зориулсан үйлдэл нь:

нэр хүндтэй

Процесс дуусах бүрд дахин эхлүүлэх болно (жишээ нь getty).

хүлээх

Зөвшөөрөгдсөн хөвөгч модыг оруулсан үед init процесс эхлэх болно.

нэг удаа

Зөвшөөрөгдсөн хөвөх түвшинг оруулах үед нэг л ажиллагааг гүйцэтгэнэ.

ачаалах

Процесс нь систем ачаалах үед гүйцэтгэгдэх болно. Runlevels талбарыг үл тоомсорлодог.

bootwait

Процесс нь систем ачаалах үед гүйцэтгэгдэнэ, init нь цуцлалтыг хүлээж байдаг (өөрөөр хэлбэл / etc / rc). Runlevels талбарыг үл тоомсорлодог.

унтраах

Энэ юу ч хийхгүй.

дуртай

Ondemand runlevel- ээр тэмдэглэгдсэн процесс нь дээр тодорхойлсон atdemand тївшинг дуудах їед хэрэгждэг . Гэсэн хэдий ч runlevel өөрчлөлт гарахгүй ( ondemand runlevels нь `a ',` b', ба `c ').

initdefault

Initdefault оруулга нь систем ачаалах дараа оролтын түвшинг заадаг. Хэрэв байхгүй бол init нь консол дээр runlevel асуух болно. Процессийн талбарыг үл тоомсорлодог.

sysinit

Процесс нь систем ачаалах үед гүйцэтгэгдэх болно. Энэ нь ямар ч ачаалах юмуу bootwait оруулгуудын өмнө хийгдэх болно. Runlevels талбарыг үл тоомсорлодог.

хүч чадал

Процесс буурч байх үед процесс явагдах болно. Init нь ихэвчлэн компьютерт холбогдсон UPS-тай ярих процессоор энэ тухай мэдээлдэг. Init нь процессийг үргэлжлүүлэхээсээ өмнө дуусгахыг хүлээх болно.

хүч чадал

Процесс дууссан эсэхийг init хүлээхгүй л бол хүч чадлын хувьд.

powerokwait

Энэ процессыг сэргээгдсэн байх үед init- т мэдэгдсэнээр удахгүй хийгдэх болно.

зургийн цомог

Энэ процессыг гадны UPS-ийн зай бараг хоосон, хүч чадал нь доголдож (гадны UPS болон хяналт шинжилгээний процесс энэ нөхцөл байдлыг илрүүлж чаддаг бол өгөгдсөн) үед энэ процессыг гүйцэтгэх болно.

ctrlaltdel

SIGINT дохиог хүлээн аваад процесс явагдана. Энэ нь системийн консол дээр хэн нэгэн нь CTRL-ALT-DEL түлхүүр хослолыг дарах гэсэн үг юм. Ердийн нэг нь хэрэглэгчийн түвшинд эсвэл машиныг дахин ачаалахын тулд shutdown гэсэн ямар нэг хэлбэрийг ажиллуулахыг хүсдэг.

kbrequest

Уг процесс нь гар ажиллуулагчаас консолийн гар дээр тусгай товчлуур дарагдсан гэсэн дохио хүлээн авдаг.

Энэ функцын баримт бичиг бүрэн гүйцэд биш байна; Дэлгэрэнгүй баримтыг kbd-x.xx багцуудаас олж болно (хамгийн сүүлийн үеийн энэ бичвэрийн үед kbd-0.94 байсан). Үндсэндээ та гар хослолыг "KeyboardSignal" үйлдэл дээр зурахыг хүсч байна. Жишээ нь, Alt-Uparrow-г зураглахын тулд дараах түлхүүр файлынхаа файлыг ашиглана уу:

alt keycode 103 = keyboardSignal

Жишээ нь

Энэ нь хуучин Линуксийн inittab-тай төстэй 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: / etc / getty 9600 tty3 4: 1: respawn: / etc / getty 9600 tty4

Энэ inittab файл ачаалах явцад / etc / rc -г ажиллуулж tty1-tty4 дээр gettys-г ажиллуулдаг.

Өөр өөр давхрага бүхий дэлгэрэнгүй мэдээлэл (дотор тайлбарыг үзнэ үү):

# Идэвхжүүлэх түвшин: id: 2: initdefault: # Өөр бусад зүйлсээс өмнө системийг эхлүүлэх. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0.6 нь зогсоод дахин ачаалах, 1 нь засвар горим юм. l0: 0: wait: /etc/rc.d/rc.halt l1: 1: wait: /etc/rc.d/rc.single l2: 2345: wait: /etc/rc.d/rc.multi l6: 6: wait: /etc/rc.d/rc.reboot # 3 хурууны мэндчилгээ дээр юу хийх вэ. ca :: ctrlaltdel: / sbin / shutdown -t5 -rf now # Runlevel 2 & 3: getty консол дээр, Level 3 нь бас getty модны порт дээр getty. 1: 23: respawn: / sbin / getty tty1 VC линүкс 2: 23: respawn: / sbin / getty tty2 VC линукс 3: 23: respawn: / sbin / getty tty3 VC линүкс 4: 23: respawn: / sbin / getty tty4 VC линукс S2: 3: respawn: / sbin / uugetty ttyS2 M19200

Мөн үзнэ үү

init (8), telinit ( 8)

Чухал: Тушаалын командыг ашиглана ( % man ) ашиглана.