ฉันกำลังมองหาวิธีรับรายการบริการทั้งหมด (/etc/init.d หรือ upstart หรือ systemd) ซึ่งควรจะเริ่มต้นการบูต (หรือเริ่มทำงานเมื่อ) บูต
คุณจะรับรายการบริการเริ่มต้นทั้งหมดได้อย่างไร - service --status-all
ฉันรู้ว่าคำถามนั้นและมันแสดงให้เห็นถึงการใช้
แต่นั่นไม่ได้แสดงให้ฉันเห็นว่าบริการใดบ้างที่ถูกเรียกใช้เพื่อให้ทำงานได้ มันเรียกสคริปต์เริ่มต้นทั้งหมดด้วยstatus
อาร์กิวเมนต์ "" นี่คือรายการบริการทั้งหมดที่อาจใช้งานได้
แต่ฉันอยากรู้ว่าบริการใดที่เริ่มทำงานตั้งแต่เริ่มระบบยังทำงานอยู่
ตัวอย่าง…
ฉันติดตั้ง webfs แล้ว แต่ฉันไม่ต้องการให้มันทำงานตอนบูท ดังนั้นฉันจึงปิดการใช้งาน: sudo update-rc.d webfs disable
. และฉันก็ติดตั้ง samba แล้วและมันควรจะทำงานตอนบูต แต่มันก็หยุด (ด้วยเหตุผลอะไรก็ตาม) sudo service --status-all
ไม่ได้ช่วยฉันที่นี่:
$ sudo service --status-all 2>/dev/null | grep -E 'samba$|webfs'
[ - ] samba
[ - ] webfs
ทั้งคู่ออกไป แต่ฉันก็ไม่ได้รู้อะไรเลยว่าควรจะอยู่บน (samba)
ดังนั้น…
ฉันจะรับรายการบริการทั้งหมดที่เริ่มต้นเมื่อเริ่มระบบได้อย่างไร และในฐานะที่เป็นส่วนขยายจะมีวิธีที่ง่ายในการรับ "สถานะ" ของบริการเหล่านี้ (ถ้าไม่ฉันจะวนรอบรายการนี้และเรียกใช้ "บริการ $ บริการสถานะ" หรืออะไรทำนองนี้)
ขอบคุณอเล็กซานเดอร์
แก้ไข 2015-05-04: ฉันใช้งาน Ubuntu 14.04
จุดสนใจหลักของคำถามนี้คือ:
แต่ฉันอยากรู้ว่าบริการใดที่เริ่มทำงานตั้งแต่เริ่มระบบยังทำงานอยู่
ด้วยเหตุนี้initctl list
ไม่ได้ช่วยอะไรมาก ไม่ได้คำนึงถึงบริการที่เริ่มต้นโดย/etc/init.d
สคริปต์ (เทียบกับสคริปต์ upstart ใน/etc/init
)
รายการของ/etc/rc?.d/S*
ยังไม่ช่วย มันจะสร้างรายการของบริการซึ่งอาจได้รับการเริ่มต้นใน runlevel ที่กำหนด ไม่แสดงให้ฉันเห็นถ้าบริการที่ควรจะเริ่มต้นยังคงทำงานอยู่
โดยทั่วไปฉันกำลังมองหาบางอย่างเช่นsvcs -x
จาก Solaris สำหรับ Ubuntu ด้วยsvcs -x
ฉันจะส่งออกถ้าบริการซึ่งเริ่มต้นทำงานไม่ได้อีกต่อไป สิ่งนี้ฉันต้องการ Ubuntu เช่นกัน
เหตุผล: ฉันต้องการตรวจสอบทั่วไป (มากกว่าหรือน้อยกว่า ... ) สำหรับระบบตรวจสอบ Icinga / Nagios ของเราซึ่งจะแจ้งเตือนฉันหากบริการไม่ทำงานอีกต่อไปซึ่งควรจะทำงานอยู่ เนื่องจากเรามีเซิร์ฟเวอร์ที่แตกต่างกันสำหรับลูกค้าที่แตกต่างกันจำนวนมากจึงไม่ได้ปรับขนาดเพื่อกำหนดรายการบริการ "สำคัญ"
initctl list
รายการกระบวนการที่เริ่มต้น / ทำงาน แต่รายการนั้นจะรวมถึงกระบวนการที่เริ่มด้วยตนเอง
initctl list
เขียนคำตอบที่มีคือการใช้งาน แต่นั่นไม่ได้ตอบคำถามจริงๆเพราะมันจะแสดงบริการที่เริ่มด้วยตนเอง และจะไม่แสดงบริการที่ไม่ได้ทำงานอยู่