Inittab—คำสั่ง Linux / Unix
NS inittab file อธิบายว่าโปรเซสใดเริ่มทำงานตอนบูทเครื่องและระหว่างการทำงานปกติ ในนั้น แตกต่าง แตกต่าง runlevelsซึ่งแต่ละชุดสามารถมีชุดของกระบวนการที่เริ่มต้นได้ runlevels ที่ถูกต้องคือ 0-6 บวก NS, NS, และ ค สำหรับรายการตามความต้องการ รายการใน inittab ไฟล์มีรูปแบบดังนี้:
id: runlevels: การกระทำ: กระบวนการ
บรรทัดที่ขึ้นต้นด้วย `# จะถูกละเว้น
ในไฟล์ NSเป็นลำดับเฉพาะของอักขระ 1-4 ตัวที่ระบุรายการใน inittab.

สำหรับ gettys หรือกระบวนการเข้าสู่ระบบอื่นๆ the NS ฟิลด์ควรเป็นส่วนต่อท้าย tty ของ tty ที่เกี่ยวข้อง เช่น 1 สำหรับ tty1. มิฉะนั้น บัญชีเข้าสู่ระบบอาจทำงานไม่ถูกต้อง
ระดับการรัน การดำเนินการ และกระบวนการ
ไฟล์ iniitab มีข้อมูลรวมถึง:
- runlevels แสดงรายการระดับการทำงานที่ควรดำเนินการที่ระบุ
- การกระทำ อธิบายว่าควรดำเนินการใด
- กระบวนการ ระบุกระบวนการที่จะดำเนินการ หากฟิลด์กระบวนการเริ่มต้นด้วยอักขระ `+' ในนั้น จะไม่ทำการบัญชี utmp และ wtmp สำหรับกระบวนการนั้น สิ่งนี้จำเป็นสำหรับ Gettys ที่ยืนกรานที่จะทำการดูแลทำความสะอาด utmp/wtmp ของตนเอง นี่เป็นข้อผิดพลาดทางประวัติศาสตร์ด้วย
NS runlevels ฟิลด์อาจมีอักขระหลายตัวสำหรับระดับการทำงานที่แตกต่างกัน ตัวอย่างเช่น, 123 ระบุว่ากระบวนการควรเริ่มต้นในระดับรัน 1, 2 และ 3 NS runlevels สำหรับ ตามความต้องการ รายการอาจมี an NS, NS, หรือ ค. NS runlevels ที่ดินของ ซิสสินิต, boot, และ bootwait รายการจะถูกละเว้น
เมื่อระดับการรันของระบบเปลี่ยนแปลง กระบวนการที่ทำงานอยู่ใดๆ ที่ไม่ได้ระบุไว้สำหรับระดับการรันใหม่จะถูกฆ่า อันดับแรกด้วย SIGTERM ตามด้วย SIGKILL
มาตรฐานการดำเนินการ
การดำเนินการที่ถูกต้องสำหรับ การกระทำ ฟิลด์คือ:
- เกิดใหม่: กระบวนการจะเริ่มต้นใหม่ทุกครั้งที่สิ้นสุด (เช่น getty)
- รอ: กระบวนการจะเริ่มต้นหนึ่งครั้งเมื่อป้อน runlevel ที่ระบุและ ในนั้น จะรอการยุติ
- ครั้งหนึ่ง: กระบวนการจะดำเนินการหนึ่งครั้งเมื่อป้อนระดับการทำงานที่ระบุ
- boot: กระบวนการจะถูกดำเนินการระหว่างการบู๊ตระบบ NS runlevels ฟิลด์จะถูกละเว้น
- bootwait: กระบวนการจะถูกดำเนินการระหว่างการบู๊ตระบบ ในขณะที่ ในนั้น รอการยกเลิก (เช่น /etc/rc) NS runlevels ฟิลด์จะถูกละเว้น
- ตามความต้องการ: กระบวนการที่มีเครื่องหมาย an ตามความต้องการ runlevel จะถูกดำเนินการเมื่อใดก็ตามที่ระบุตามความต้องการ runlevel เรียกว่า อย่างไรก็ตาม จะไม่มีการเปลี่ยนแปลงระดับการรัน (ตามความต้องการ runlevels คือ `a', `b' และ `c')
- initdefault: หนึ่ง initdefault รายการระบุระดับการทำงานที่ควรป้อนหลังจากบูตระบบ หากไม่มีอยู่ ในนั้น จะขอ runlevel บนคอนโซล NS กระบวนการ ฟิลด์จะถูกละเว้น
- ซิสสินิต: กระบวนการจะดำเนินการระหว่าง บูตระบบ. จะถูกประหารชีวิตก่อนใคร boot หรือbootwait รายการ. NS runlevels ฟิลด์จะถูกละเว้น
- powerwait: กระบวนการจะดำเนินการเมื่อไฟฟ้าดับ Init มักจะได้รับแจ้งเกี่ยวกับสิ่งนี้โดยกระบวนการที่พูดคุยกับ UPS ที่เชื่อมต่อกับคอมพิวเตอร์ ในนั้น จะรอให้กระบวนการเสร็จสิ้นก่อนที่จะดำเนินการต่อ
- powerfail: ส่วน powerwaitเว้นแต่ว่า ในนั้น ไม่รอให้กระบวนการเสร็จสิ้น
- powerokwait: กระบวนการนี้จะดำเนินการทันทีที่ ในนั้น ได้รับแจ้งว่าได้คืนอำนาจแล้ว
- powerfailnow: กระบวนการนี้จะดำเนินการเมื่อ ในนั้น แจ้งว่าแบตเตอรี่ของ UPS ภายนอกใกล้หมดและไฟดับ (โดยมีเงื่อนไขว่า UPS ภายนอกและกระบวนการตรวจสอบสามารถตรวจพบสภาวะนี้ได้)
- ctrlaltdel: กระบวนการจะดำเนินการเมื่อ ในนั้น รับสัญญาณ SIGINT ซึ่งหมายความว่ามีบางคนในคอนโซลระบบได้กด Ctrl-Alt-Del คีย์ผสม โดยทั่วไปแล้วเราต้องการดำเนินการบางอย่าง ปิดตัวลง ไม่ว่าจะเข้าสู่ระดับผู้ใช้คนเดียวหรือถึง รีบูต เครื่องจักร.
- kbrequest: กระบวนการจะดำเนินการเมื่อ ในนั้น รับสัญญาณจากตัวจัดการแป้นพิมพ์ว่ามีการกดคีย์ผสมพิเศษบนแป้นพิมพ์คอนโซล
เอกสารประกอบสำหรับฟังก์ชันนี้ยังไม่สมบูรณ์ เอกสารประกอบเพิ่มเติมสามารถพบได้ในแพ็คเกจ kbd-x.xx โดยทั่วไปคุณต้องการจับคู่แป้นพิมพ์บางตัวกับการกระทำ "KeyboardSignal" ตัวอย่างเช่น ไปยังแผนที่ Alt+ลูกศรขึ้น เพื่อจุดประสงค์นี้ ให้ใช้สิ่งต่อไปนี้ในไฟล์คีย์แมปของคุณ:
รหัส alt 103 = KeyboardSignal
ตัวอย่างไฟล์ 'inittab'
นี่คือตัวอย่างของ inittab ที่คล้ายกับ Linux inittab แบบเก่า:
# inittab สำหรับ linux
id: 1:initdefault:
rc:: bootwait:/etc/rc
1:1:respawn:/etc/getty 9600 tty1
2:1:เกิดใหม่:/etc/getty 9600 tty2
3:1:เกิดใหม่:/etc/getty 9600 tty3
4:1:เกิดใหม่:/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:รอ:/etc/rc.d/rc.halt
l1:1:รอ:/etc/rc.d/rc.single
l2:2345:รอ:/etc/rc.d/rc.multi
l6:6:รอ:/etc/rc.d/rc.reboot
#ไปทำอะไรที่ "3 นิ้วคารวะ"
ca:: ctrraltdel:/sbin/shutdown -t5 -rf now
# Runlevel 2&3: เก็ตตี้บนคอนโซล ระดับ 3 ยังได้รับบนพอร์ตโมเด็ม
1:23:respawn:/sbin/getty tty1 VC linux
2:23:เกิดใหม่:/sbin/getty tty2 VC linux
3:23:เกิดใหม่:/sbin/getty tty3 VC linux
4:23:เกิดใหม่:/sbin/getty tty4 VC linux
S2:3:respawn:/sbin/uugetty ttyS2 M19200
ใช้ ชาย สั่งการ (% ชาย) เพื่อดูวิธีการใช้คำสั่งบนคอมพิวเตอร์เฉพาะของคุณ