Inittab-Linux / Unix Command

inittab - ຮູບແບບຂອງໄຟ inittab ທີ່ໃຊ້ໂດຍຂະບວນການເລີ່ມຕົ້ນ sysv ທີ່ເຫມາະສົມ

ລາຍລະອຽດ

ໄຟລ໌ inittab ອະທິບາຍຂັ້ນຕອນທີ່ເລີ່ມຕົ້ນໃນ bootup ແລະໃນລະຫວ່າງການປະຕິບັດງານ (eg /etc/init.d/boot, /etc/init.d/rc, gettys ... ). Init (8) ແຕກຕ່າງກັນລະດັບ runlevels , ແຕ່ລະຊຶ່ງສາມາດມີຂະບວນການຂອງຕົນເອງຂອງຂະບວນການທີ່ຖືກເລີ່ມຕົ້ນ. runlevels ທີ່ຖືກຕ້ອງແມ່ນ 0 - 6 ບວກກັບ A , B , ແລະ C ສໍາລັບການໃສ່ ondemand . ການເຂົ້າໃນໄຟລ໌ inittab ມີຮູບແບບດັ່ງຕໍ່ໄປນີ້:

id: runlevels: action: process

ເສັ້ນເລີ່ມຕົ້ນທີ່ມີ `# 'ຖືກລະເວັ້ນ.

id ແມ່ນລໍາດັບທີ່ເປັນເອກະລັກຂອງ 1-4 ລັກສະນະທີ່ລະບຸລາຍະການໃນ inittab (ສໍາລັບສະບັບຂອງ sysvinit ລວບລວມກັບຫ້ອງສະຫມຸດ <5.2.18 ຫຼືຫ້ອງສະຫມຸດ a.out ຂອບເຂດແມ່ນ 2 ຕົວອັກສອນ).

ຫມາຍເຫດ: ສໍາລັບ gettys ຫຼືຂະບວນການເຂົ້າສູ່ລະບົບອື່ນໆ, ພາກ id ຄວນຈະເປັນ suffix tty ຂອງ tty ທີ່ສອດຄ້ອງກັນ, ເຊັ່ນ: 1 ສໍາລັບ tty1 . ຖ້າບໍ່ດັ່ງນັ້ນ, ບັນຊີເຂົ້າສູ່ລະບົບອາດຈະບໍ່ເຮັດວຽກຢ່າງຖືກຕ້ອງ.

runlevels ລາຍລະອຽດ runlevels ສໍາລັບການປະຕິບັດທີ່ໄດ້ລະບຸຄວນໄດ້ຮັບການປະຕິບັດ.

ການປະຕິບັດງານ ອະທິບາຍວ່າຄວນຈະດໍາເນີນການຫຍັງ.

ຂະບວນການ ລະບຸຂະບວນການທີ່ຈະປະຕິບັດ. ຖ້າພາກສະຫນາມຂະບວນການເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນ `+ ', init ຈະບໍ່ utmp ແລະ wtmp ບັນຊີສໍາລັບຂະບວນການນັ້ນ. ນີ້ແມ່ນຈໍາເປັນສໍາລັບ gettys ທີ່ຮຽກຮ້ອງໃຫ້ເຮັດໃນການເຮັດວຽກຂອງຕົນເອງ utmp / wtmp. ນີ້ຍັງເປັນຂໍ້ບົກພ່ອງປະຫວັດສາດ.

ພາກສະຫນາມ runlevels ອາດມີລັກສະນະຕ່າງໆສໍາລັບ runlevels ທີ່ແຕກຕ່າງກັນ. ຕົວຢ່າງ 123 ກໍານົດວ່າຂະບວນການຄວນຈະເລີ່ມຕົ້ນໃນ runlevels 1, 2, ແລະ 3. ລະດັບ runlevels ສໍາລັບລາຍະການ ondemand ອາດມີ A , B , ຫຼື C. ພາກສະຫນາມ runlevels ຂອງ sysinit , boot , ແລະ bootwait entries ຖືກລະເວັ້ນ.

ເມື່ອລະບົບ runlevel ມີການປ່ຽນແປງ, ຂະບວນການແລ່ນໃດໆທີ່ບໍ່ໄດ້ລະບຸໄວ້ສໍາລັບ runlevel ໃຫມ່ແມ່ນຖືກທໍາອິດ, ດ້ວຍ SIGTERM, ຫຼັງຈາກນັ້ນກັບ SIGKILL.

ການກະທໍາທີ່ຖືກຕ້ອງສໍາລັບພາກ ປະຕິບັດ ແມ່ນ:

respawn

ຂະບວນການຈະຖືກເລີ່ມຄືນໃຫມ່ທຸກຄັ້ງທີ່ມັນສິ້ນສຸດ (ເຊັ່ນ getty).

ລໍຖ້າ

ຂະບວນການນີ້ຈະຖືກເລີ່ມຕົ້ນເມື່ອລະດັບ runlevel ທີ່ກໍານົດໄວ້ແລະ init ຈະລໍຖ້າການສິ້ນສຸດ.

ຄັ້ງຫນຶ່ງ

ຂະບວນການຈະຖືກປະຕິບັດເມື່ອໃດກໍ່ຕາມເມື່ອ runlevel ທີ່ລະບຸໄວ້.

boot

ຂະບວນການຈະຖືກປະຕິບັດໃນລະຫວ່າງການເລີ່ມຕົ້ນລະບົບ. ພາກສະຫນາມ runlevels ຖືກປະຕິເສດ.

bootwait

ຂະບວນການຈະຖືກປະຕິບັດໃນລະບົບ boot, ໃນຂະນະທີ່ init ລໍຖ້າການຢຸດ (eg / etc / rc). ພາກສະຫນາມ runlevels ຖືກປະຕິເສດ.

off

ນີ້ບໍ່ມີຫຍັງ.

ondemand

ຂະບວນການທີ່ຖືກຫມາຍດ້ວຍ runlevel ondemand ຈະຖືກປະຕິບັດເມື່ອໃດກໍຕາມທີ່ເອີ້ນວ່າ runlevel ທີ່ຖືກກໍານົດໄວ້. ຢ່າງໃດກໍ່ຕາມ, ບໍ່ມີການປ່ຽນແປງໄລຍະເວລາທີ່ຈະເກີດຂຶ້ນ (runlevels ondemand ແມ່ນ `a ',` b' ແລະ `c ').

initdefault

ການເຂົ້າລະຫັດ initdefault ລະບຸ runlevel ທີ່ຄວນໄດ້ຮັບຫຼັງຈາກ boot ຂອງລະບົບ. ຖ້າບໍ່ມີ, init ຈະຮຽກຮ້ອງໃຫ້ມີ runlevel ໃນ console. ພາກສະຫນາມ ຂະບວນການ ຖືກປະຕິເສດ.

sysinit

ຂະບວນການຈະຖືກປະຕິບັດໃນລະຫວ່າງ ການເລີ່ມຕົ້ນລະບົບ . ມັນຈະຖືກປະຕິບັດກ່ອນທີ່ຈະ boot ຫຼື entries ໃດໆ. ພາກສະຫນາມ runlevels ຖືກປະຕິເສດ.

powerwait

ຂະບວນການຈະຖືກປະຕິບັດໃນເວລາທີ່ພະລັງງານລົງໄປ. Init ຖືກແຈ້ງໃຫ້ຮູ້ເຖິງເລື່ອງນີ້ໂດຍຂະບວນການເວົ້າກັບ UPS ທີ່ເຊື່ອມຕໍ່ຄອມພິວເຕີ. Init ຈະລໍຖ້າຂະບວນການທີ່ຈະສໍາເລັດກ່ອນທີ່ຈະສືບຕໍ່.

powerfail

ສໍາລັບ powerwait , ຍົກເວັ້ນວ່າ init ບໍ່ໄດ້ລໍຖ້າສໍາລັບການສໍາເລັດຂອງຂະບວນການ.

powerokwait

ຂະບວນການນີ້ຈະຖືກປະຕິບັດໃນທັນທີທີ່ init ໄດ້ຖືກ informormed ວ່າພະລັງງານໄດ້ຖືກຟື້ນຟູຄືນມາ.

powerfailnow

ຂະບວນການນີ້ຈະຖືກປະຕິບັດໃນເວລາທີ່ທໍາອິດໄດ້ບອກວ່າຫມໍ້ໄຟຂອງ UPS ພາຍນອກແມ່ນເກືອບຫມົດແລະພະລັງງານແມ່ນລົ້ມເຫຼວ (ທີ່ວ່າ UPS ພາຍນອກແລະຂະບວນການຕິດຕາມກວດກາສາມາດກວດພົບສະພາບນີ້).

ctrlaltdel

ຂະບວນການນີ້ຈະຖືກປະຕິບັດເມື່ອ init ໄດ້ຮັບສັນຍານ SIGINT. ນີ້ຫມາຍຄວາມວ່າຜູ້ໃດຜູ້ຫນຶ່ງໃນ console system ໄດ້ກົດປຸ່ມ CTRL-ALT-DEL key combination. ໂດຍປົກກະຕິແລ້ວຫນຶ່ງຕ້ອງການທີ່ຈະປະຕິບັດການ ປິດ ປະເພດບາງຢ່າງເພື່ອເຂົ້າໄປໃນລະດັບຜູ້ໃຊ້ດຽວກັນຫຼືເພື່ອບູລະນະເຄື່ອງໃຫມ່.

kbrequest

ຂະບວນການຈະຖືກປະຕິບັດເມື່ອຂັ້ນຕອນໄດ້ຮັບສັນຍານຈາກຕົວຈັດການແປ້ນພິມທີ່ມີການກົດປຸ່ມແປ້ນພິມພິເສດໃສ່ແປ້ນພິມ console.

ເອກະສານສໍາລັບການເຮັດວຽກນີ້ຍັງບໍ່ຄົບຖ້ວນເທື່ອ; ເອກະສານເພີ່ມເຕີມສາມາດພົບໄດ້ໃນຊຸດ kbd-x.xx (ຫຼາຍທີ່ສຸດແມ່ນ kbd -094 ໃນເວລາຂຽນນີ້). ໂດຍພື້ນຖານແລ້ວທ່ານຕ້ອງການແຜນທີ່ການປະສົມປະສານແປ້ນພິມບາງຢ່າງກັບການກະທໍາ "KeyboardSignal". ຍົກຕົວຢ່າງ, ເພື່ອວາງແຜນທີ່ Alt-Uparrow ສໍາລັບຈຸດປະສົງນີ້ໃຫ້ໃຊ້ໄຟລ໌ທີ່ສໍາຄັນຂອງທ່ານຕໍ່ໄປນີ້:

alt keycode 103 = KeyboardSignal

ຕົວຢ່າງ

ນີ້ແມ່ນຕົວຢ່າງຂອງ inittab ເຊິ່ງ resembles Linux inittab ເກົ່າ:

: / 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 ໃນລະຫວ່າງ boot ແລະເລີ່ມ gettys ກັບ tty1-tty4.

ລະບົບປະຕິບັດການທີ່ມີລະບົບປະຕິບັດການທີ່ແຕກຕ່າງກັນຫຼາຍ (ເບິ່ງຄໍາເຫັນພາຍໃນ):

# ລະດັບທີ່ຈະດໍາເນີນການໃນ id: 2: initdefault: # ການເລີ່ມຕົ້ນຂອງລະບົບກ່ອນສິ່ງອື່ນ. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 ແມ່ນຢຸດແລະ reboot, 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: ລໍຖ້າ: /etc/rc.d/rc.reboot # ຈະເຮັດແນວໃດຢູ່ທີ່ "salute ນິ້ວມື 3". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf now # Runlevel 2 & 3: getty on console, level 3 also getty on port modem 1: 23: respawn: / sbin / getty tty1 VC linux 2: 23: respawn: / sbin / getty tty2 VC 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 ( % man ) ເພື່ອເບິ່ງວິທີການໃຊ້ຄໍາສັ່ງໃນຄອມພິວເຕີຂອງທ່ານ.