ฉันพยายามเรียกใช้กระบวนการพื้นหลัง PHP ที่เป็นผู้บริโภคสำหรับข้อความ Rabbit MQ ฉันสามารถเรียกใช้สคริปต์ในชื่อ "php receive.php &" แต่ฉันต้องการให้แน่ใจว่าสคริปต์นี้ทำงานอยู่ตลอดเวลา
ฉันได้รวบรวมสคริปต์ทุบตีที่ดูเหมือนพยายามค้นหา PID ของกระบวนการ หากไม่พบ PID ก็จะเริ่มต้นสคริปต์สำรอง ถ้ามันพบกระบวนการมันก็แค่สะท้อน PID
ฉันพยายามรัน Bash Script บน Cron ทุก ๆ ชั่วโมงเพื่อให้แน่ใจว่ากระบวนการพื้นหลังทำงานอยู่ แต่ฉันไม่ได้เปิดใช้งาน ถ้าฉันรัน Shell / Bash Script โดยตรง มันทำงานได้อย่างสมบูรณ์
Bash Script
p=$(pidof -s php receive.php)
if [[ -z "${p// }" ]]
then php /var/www/html/example.com/public_html/receive.php &
else echo 'Receive Already Running';
fi
บรรทัด Crontab -e
# m h dom mon dow command
0 * * * * /var/www/html/example.com/public_html/analytics.sh
ฉันจะทำอะไรที่แตกต่างกันได้บ้างเพื่อให้แน่ใจว่ากระบวนการพื้นหลังนี้ทำงานอยู่เสมอและหากไม่เป็นเช่นนั้น
cron
? while true; do php receive.php; done
แน่นอนคำตอบคือจะเริ่มจากสคริปต์ที่ล้อมรอบด้วย การดำเนินการนี้จะเริ่มต้นใหม่ทันทีโดยไม่ต้องรอการcron
สำรวจครั้งต่อไป