ฉันจะแสดงสคริปต์โดยพลการใน unix ได้อย่างไร
ฉันต้องการ daemonizer ที่สามารถเปิดโดยพลสคริปต์ทั่วไปหรือสั่งเข้ามาเป็นภูต มีสองกรณีทั่วไปที่ฉันต้องการจัดการ: ฉันมีสคริปต์ที่ควรรันตลอดไป หากเคยตาย (หรือรีบูต) ให้รีสตาร์ท อย่าปล่อยให้สำเนาสองชุดทำงานพร้อมกัน (ตรวจสอบว่าสำเนาทำงานอยู่แล้วและไม่เปิดใช้ในกรณีนั้น) ฉันมีสคริปต์หรือคำสั่งบรรทัดคำสั่งง่ายๆที่ฉันต้องการดำเนินการซ้ำ ๆ ตลอดไป (โดยหยุดชั่วคราวระหว่างการรัน) อีกครั้งอย่าปล่อยให้สคริปต์สองสำเนาทำงานพร้อมกัน แน่นอนว่ามันเป็นเรื่องเล็กน้อยที่จะเขียน "while (true)" วนรอบสคริปต์ในกรณีที่ 2 จากนั้นใช้โซลูชันสำหรับกรณีที่ 1 แต่วิธีแก้ปัญหาทั่วไปจะแก้ปัญหากรณีที่ 2 โดยตรงเนื่องจากใช้กับสคริปต์ในกรณีที่ 1 เป็น ดี (คุณอาจต้องการหยุดชั่วคราวให้สั้นลงหรือไม่มีเลยหากสคริปต์ไม่ได้ตั้งใจที่จะตาย (แน่นอนว่าถ้าสคริปต์ไม่มีวันตายจริงๆการหยุดชั่วคราวก็ไม่สำคัญ)) โปรดทราบว่าโซลูชันไม่ควรเกี่ยวข้องกับการเพิ่มรหัสล็อกไฟล์หรือการบันทึก PID ลงในสคริปต์ที่มีอยู่ โดยเฉพาะอย่างยิ่งฉันต้องการโปรแกรม "daemonize" ที่สามารถเรียกใช้งานได้ % daemonize myscript arg1 arg2 หรือตัวอย่างเช่น % daemonize 'echo `date` >> /tmp/times.txt' ซึ่งจะทำให้รายการวันที่เพิ่มขึ้นต่อท้าย times.txt …