ฉันจะแสดงรายการ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
ไม่จริงยังเพื่อให้คุณจะต้องทำด้วยตนเองหรือรีบูตระบบหลังจากการตั้งค่าให้start
enabled
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
ในการแสดงรายการชุดsystemd
serice ทั้งหมดที่อยู่ใน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