ฉันจะแสดงรายการenabledบริการทั้งหมดจากได้systemctlอย่างไร
ฉันรู้ว่าการทำงานsystemctlคำสั่งด้วยตัวเองแสดงรายการบริการทั้งหมด แต่ฉันต้องการที่จะได้รับเฉพาะenabledคน
man systemctlดู
                ฉันจะแสดงรายการenabledบริการทั้งหมดจากได้systemctlอย่างไร
ฉันรู้ว่าการทำงานsystemctlคำสั่งด้วยตัวเองแสดงรายการบริการทั้งหมด แต่ฉันต้องการที่จะได้รับเฉพาะenabledคน
man systemctlดู
                คำตอบ:
systemctl list-unit-files | grep enabledจะแสดงรายการทั้งหมดที่เปิดใช้งานคน
หากคุณต้องการคนที่กำลังทำงานsystemctl | grep runningคุณจะต้อง
ใช้สิ่งที่คุณกำลังมองหา เปิดใช้งานไม่ได้หมายความว่ามันกำลังทำงานอยู่ และการทำงานไม่ได้หมายความว่ามันเปิดใช้งาน พวกเขาเป็นสองสิ่งที่แตกต่างกัน
เปิดใช้งานหมายถึงระบบจะเรียกใช้บริการในการบูตครั้งถัดไป ดังนั้นหากคุณเปิดใช้งานบริการคุณจะต้องเริ่มต้นด้วยตนเองหรือเริ่มต้นใหม่และจะเริ่มทำงาน
การใช้งานหมายความว่ามันใช้งานได้จริงในขณะนี้ แต่ถ้าไม่ได้เปิดใช้งานจะไม่เริ่มต้นใหม่เมื่อคุณรีบูต
systemctl | grep runningอย่าทำรายการอะไรกับฉัน! แม้ว่าจะมีบางสิ่งที่ทำงานอยู่แสดงสถานะของเขาเช่นเดียวกับ:enabled, disabled, masked, static
                    systemctl list-unit-files --state=running
                    man systemctl สหรัฐฯ:
--state=อาร์กิวเมนต์ควรเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคของหน่วย
LOAD,SUBหรือACTIVEรัฐ เมื่อรายชื่อหน่วยแสดงเฉพาะในรัฐที่ระบุ ใช้--state=failedเพื่อแสดงหน่วยที่ล้มเหลวเท่านั้น
คำอธิบาย:
LOAD: สะท้อนให้เห็นว่าคำจำกัดความของหน่วยโหลดอย่างถูกต้อง 
ACTIVE: SUBรัฐระดับสูงหน่วยเปิดใช้งานคือลักษณะทั่วไปของ 
SUB: สถานะการเปิดใช้งานหน่วยระดับต่ำค่าขึ้นอยู่กับประเภทของหน่วย
แม้ว่าคุณจะสามารถใช้เพื่อแสดงenabledหน่วยด้วย:
systemctl list-unit-files --state=enabled
หากหน่วยคือenabledหมายความว่าระบบจะเริ่มเมื่อเริ่มต้น แม้ว่าการตั้งค่าอะไรบางอย่างที่enabledไม่จริงยังเพื่อให้คุณจะต้องทำด้วยตนเองหรือรีบูตระบบหลังจากการตั้งค่าให้startenabled
systemctl enable --now ...
                    --state=enabledไม่มีผลกับ systemd รุ่น 215 (บน Raspbian 8 Jessie) แต่ทำงานบน systemd รุ่น 229 (บน Ubuntu 16.04.03 Xenial)
                    เพื่อแสดงรายการsystemdบริการทั้งหมดที่อยู่ในstate=activeและsub=running
systemctl list-units --type=service --state=running
ในการแสดงรายการชุดsystemdserice ทั้งหมดที่อยู่ในstate=activeและย่อยเรียกใช้หรือออก
systemctl list-units --type=service --state=active
หากต้องการดูบริการ 'เปิดใช้งาน' รวมถึงบริการที่ยังอยู่ในช่วงเริ่มต้น / เริ่มต้น:
systemctl list-unit-files --type service --state enabled,generated
หากต้องการดูบริการที่รันอยู่ทั้งหมดให้ดำเนินการดังนี้
systemctl list-units --type service --state running
sshdกับsshและเมื่อเทียบกับsyslog rsyslog
                    ภาพรวมของบริการที่ใช้งานและล้มเหลวทั้งหมด:
systemctl list-units --type service --state running,failed