<ก่อนหน้านี้ | Contents | ถัดไป>
7.6.2.1. การเปลี่ยนระดับการวิ่ง
การเปลี่ยนระดับการทำงานเสร็จสิ้นด้วย init ที่นี่มี คือระดับการวิ่งเป้าหมาย ตัวอย่างเช่น ในการรีบูตเครื่องคอมพิวเตอร์ ผู้ใช้สามารถออกคำสั่ง เริ่มต้น 6 คำสั่งซึ่งเป็นนามแฝงสำหรับ รีบูต สั่งการ. เช่นเดียวกัน, เริ่มต้น 0 เป็นนามแฝงสำหรับ หยุด คำสั่ง
มีหลายไดเร็กทอรีภายใต้ /etc/rc.d ที่ดูเหมือน rc?.d (โดยที่ ? คือจำนวนระดับการรัน) และ rcsysinit.dทั้งหมดมีลิงก์สัญลักษณ์จำนวนหนึ่ง บางคนเริ่มต้นด้วย a K, อื่นๆ ขึ้นต้นด้วย an Sและทั้งหมดมีตัวเลขสองตัวต่อจากอักษรตัวแรก K หมายถึงหยุด (ฆ่า) บริการและ S หมายถึงเริ่มให้บริการ ตัวเลขจะเป็นตัวกำหนดลำดับการรันสคริปต์ จาก 00 ถึง 99 ยิ่งตัวเลขยิ่งต่ำยิ่งถูกเรียกใช้งานก่อนหน้านี้ เมื่อไหร่ init สลับไปยังระดับการทำงานอื่น บริการที่เหมาะสมจะเริ่มหรือหยุดทำงาน ขึ้นอยู่กับระดับการทำงานที่เลือก
สคริปต์จริงอยู่ใน /etc/rc.d/init.d. พวกเขาทำงานจริงและ symlink ทั้งหมดชี้ไปที่พวกเขา ลิงก์ K และลิงก์ S ชี้ไปที่สคริปต์เดียวกันใน /etc/rc.d/init.d. เนื่องจากสคริปต์สามารถเรียกได้ด้วยพารามิเตอร์ต่างๆ เช่น เริ่มต้น, หยุด, การเริ่มต้นใหม่, โหลดและ สถานะ. เมื่อพบลิงค์ K สคริปต์ที่เหมาะสมจะถูกรันด้วยคำสั่ง หยุด การโต้แย้ง. เมื่อพบลิงก์ S สคริปต์ที่เหมาะสมจะถูกเรียกใช้ด้วย เริ่มต้น ข้อโต้แย้ง.
มีข้อยกเว้นสำหรับคำอธิบายนี้ ลิงค์ที่ขึ้นต้นด้วย an S ที่ อาร์ซี0.ดี และ อาร์ซี6.ดี ไดเร็กทอรีจะไม่ทำให้เกิดสิ่งใดที่จะเริ่มต้น พวกเขาจะถูกเรียกด้วยพารามิเตอร์ หยุด เพื่อหยุดบางสิ่งบางอย่าง ตรรกะเบื้องหลังนี้คือเมื่อผู้ใช้จะรีบูตหรือหยุดระบบ ไม่มีอะไรต้องเริ่มต้น ต้องหยุดระบบเท่านั้น
นี่คือคำอธิบายของสิ่งที่อาร์กิวเมนต์ทำให้สคริปต์ทำ:
เริ่มต้น
เริ่มบริการแล้ว
หยุด
บริการหยุด
การเริ่มต้นใหม่
บริการหยุดแล้วเริ่มใหม่อีกครั้ง
โหลด
อัปเดตการกำหนดค่าบริการแล้ว ใช้หลังจากแก้ไขไฟล์การกำหนดค่าของบริการแล้ว เมื่อไม่จำเป็นต้องเริ่มบริการใหม่
สถานะ
บอกว่าบริการกำลังทำงานอยู่หรือไม่และด้วย PID ใด
ปรับเปลี่ยนวิธีการทำงานของกระบวนการบู๊ตได้ตามต้องการ (เพราะเป็นระบบ LFS ของคุณเอง) ไฟล์ที่ให้ไว้ที่นี่เป็นตัวอย่างของวิธีการที่สามารถทำได้