7
วิธี "เหมาะสม" เพื่อทดสอบว่าบริการกำลังทำงานอยู่ในสคริปต์หรือไม่
ปัญหาของฉัน: ฉันกำลังเขียนสคริปต์ทุบตีและในนั้นฉันต้องการตรวจสอบว่าบริการที่กำหนดทำงานอยู่หรือไม่ $ service [service_name] statusฉันรู้วิธีการทำด้วยตัวเองด้วย แต่ (โดยเฉพาะอย่างยิ่งตั้งแต่การย้ายไปยัง systemd) ที่พิมพ์ข้อความจำนวนมากที่ไม่ยุ่งยากในการแยกวิเคราะห์ ฉันสันนิษฐานว่ามีคำสั่งสำหรับสคริปต์ที่มีเอาต์พุตแบบง่ายหรือค่าส่งคืนที่ฉันสามารถตรวจสอบได้ แต่ Googling รอบ ๆ ให้ผลลัพธ์แบบ "โอ้เพียงแค่ps aux | grep -v grep | grep [service_name]" เท่านั้น นั่นเป็นวิธีปฏิบัติที่ดีที่สุดไม่ได้เหรอ? จะเกิดอะไรขึ้นถ้าอินสแตนซ์อื่นของคำสั่งนั้นกำลังทำงานอยู่ แต่ไม่ใช่สคริปต์ที่เริ่มต้นโดย SysV init หรือฉันควรปิดและทำให้มือสกปรกด้วย pgrep เล็กน้อย?