ความแตกต่างระหว่างการไม่ใช้งาน vs ปิดใช้งานและบริการที่เปิดใช้งาน vs


10

ฉันสับสนโดยแนวคิดของการเปิดใช้งานหรือใช้งานและปิดการใช้งานหรือไม่ได้ใช้งาน

มีคนอธิบายได้ไหม


1
ฉันได้ส่งคำขอดึงเพื่อปรับปรุงเอกสารsystemctl statusในman systemctlซึ่งดูเหมือนว่าจะมีแผนชัดเจนในการค้นหาเอกสารเหล่านี้
Mark Stosberg

คำตอบ:


15

หน้าคนสำหรับsystemdมีข้อมูลที่คุณกำลังมองหา

สิ่งที่สกัดมา

systemd จัดให้มีระบบการพึ่งพาระหว่างหน่วยงานต่างๆที่เรียกว่า "units" หน่วยห่อหุ้มวัตถุต่าง ๆ ที่เกี่ยวข้องกับการบูทและบำรุงรักษาระบบ ยูนิตส่วนใหญ่มีการกำหนดค่าในไฟล์การกำหนดค่าหน่วยซึ่งมีไวยากรณ์และชุดตัวเลือกพื้นฐานอธิบายไว้ใน systemd.unit (5) อย่างไรก็ตามบางหน่วยถูกสร้างขึ้นโดยอัตโนมัติจากการกำหนดค่าอื่นหรือแบบไดนามิกจากสถานะระบบ

หน่วยอาจเป็น 'ใช้งานอยู่' (ความหมายเริ่มต้นถูกผูกไว้เชื่อมต่อ ... ขึ้นอยู่กับประเภทของหน่วยดูด้านล่าง) หรือ 'ไม่ใช้งาน' (หมายถึงหยุดหยุดถอดสายถอดปลั๊ก ... ) ตลอดจนใน กระบวนการของการเปิดใช้งานหรือปิดการใช้งานคือระหว่างรัฐทั้งสอง (รัฐเหล่านี้เรียกว่า 'การเปิดใช้งาน', 'ปิดการใช้งาน')

สถานะ 'ล้มเหลว' พิเศษพร้อมใช้งานซึ่งคล้ายกับ 'ไม่ทำงาน' และถูกป้อนเมื่อบริการล้มเหลวในบางวิธี (กระบวนการส่งคืนรหัสข้อผิดพลาดเมื่อออกหรือหยุดทำงานหรือการดำเนินการหมดเวลา) หากป้อนสถานะนี้สาเหตุจะถูกบันทึกไว้เพื่อการอ้างอิงในภายหลัง

โปรดทราบว่าหน่วยประเภทต่าง ๆ อาจมีจำนวนของสถานะย่อยเพิ่มเติมซึ่งถูกแมปกับสถานะของหน่วยทั่วไปที่ห้าที่อธิบายไว้ที่นี่

ทำให้พังถล่ม

ดังนั้นหากคุณได้อ่านข้างต้นและไม่เข้าใจความแตกต่างจริง ๆ นี่คือสรุป

  • เปิดใช้งาน - เซอร์วิส (หน่วย) ถูกกำหนดค่าให้เริ่มต้นเมื่อบูทระบบ
  • ปิดใช้งาน - เซอร์วิส (หน่วย) ถูกกำหนดค่าให้ไม่เริ่มทำงานเมื่อระบบบู๊ต
  • active - บริการ (หน่วย) กำลังทำงานอยู่
  • ไม่ใช้งาน - บริการ (หน่วย) ไม่ได้ทำงานอยู่ในขณะนี้ แต่อาจเริ่มต้นใช้งานเช่นมีสถานะใช้งานหากมีบางสิ่งพยายามใช้บริการ

เฉื่อยชา

สุดท้ายนี้สามารถดูเหมือนงงมากที่สุด แต่คิดตามสายเดียวกับsystemd xinetdสามารถจัดการบริการของคุณและเริ่มต้นได้ตามต้องการเมื่อต้องการ ดังนั้นในขณะที่บริการนั้น "ปิด" พวกเขาอยู่ในสถานะไม่ใช้งานแต่เมื่อเริ่มต้นพวกเขาสามารถเปิดใช้งานได้

สถานะนี้ยังสามารถเกิดขึ้นได้เมื่อเปิดใช้งานบริการ (หน่วย) แต่ยังไม่ได้เริ่มด้วยตนเอง ดังนั้นบริการจึงวาง "หยุดชั่วคราว" ในสถานะหยุดหรือล้มเหลวจนกว่าจะเริ่มบริการด้วยตนเองหรือระบบเข้าสู่การรีบูตซึ่งจะทำให้บริการใช้งานได้เนื่องจากการเปิดใช้งาน


@ jasonwryan - จริงฉันจะเพิ่มเข้าไปในขอบคุณ!
slm

@jasonwryan - อ่านแล้วดีกว่าไหม?
slm

6

เมื่อคุณเปิดใช้งาน / ปิดใช้งานบริการคุณจะต้องเริ่มต้นโดยอัตโนมัติเมื่อบูต

ดังนั้นsystemctl enable lxdmจะตั้ง LXDM เป็น DM อย่างไรก็ตามจะไม่เริ่มทันที

ในทางกลับกัน active / inactive (และไม่สามารถเลือกได้) จะบอกสถานะปัจจุบันของบริการ หลังจากใช้งานsystemctl start lxdmแล้ว LXDM จะทำงานจริงและสถานะของมันจะทำงาน

โดยปกติเมื่อคุณติดตั้งบริการครั้งแรกคุณจะต้องทดสอบก่อนโดยเริ่มบริการ หากตรวจสอบแล้วคุณจะเปิดใช้งาน ด้วยวิธีนี้คุณหลีกเลี่ยงการหยุดระบบของคุณในระหว่างการบูต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.