ฉันได้สร้างงาน Cron เพื่อเรียกใช้สคริปต์ที่ตรวจสอบว่ากระบวนการกำลังทำงานอยู่หรือไม่ ในกรณีที่มันแค่พิมพ์ว่ากระบวนการกำลังทำงานอยู่ ถ้าไม่ใช่ มันจะพิมพ์ออกมาว่ากระบวนการไม่ได้ทำงานอยู่และเริ่มกระบวนการใหม่:
#!/bin/sh
SERVICE="start_server.py"
ถ้า ps -ef | grep "$SERVICE" | grep -v grep >/dev/null
แล้ว
echo "start_server.py กำลังทำงาน"
อื่น
echo "start_server.py หยุดทำงาน"
python2.7 start_server.py &
ไฟ
ในฐานะผู้ใช้ Ubuntu ฉันสร้างงาน cron ต่อไปนี้โดยเรียกใช้ - crontab -e
* * * * * /home/ubuntu/mislaka/check_process.sh 2>&1 /home/ubuntu/mislaka/script_log.log
ด้วยเหตุผลบางอย่าง มันไม่ทำงานหรือเขียนผลลัพธ์ไปยังล็อกไฟล์
พยายามเริ่มบริการ cron ใหม่ พยายามสร้างงาน cron เป็นรูท เปลี่ยนสิทธิ์ทั้งหมดและผู้ใช้ที่เรียกใช้สคริปต์ แต่ไม่มีอะไรทำงาน
สคริปต์ถ้าฉันรันเองจะทำงานตามที่คาดไว้
เวอร์ชันอูบุนตู:
ไม่มีโมดูล LSB
รหัสผู้จัดจำหน่าย: Ubuntu
คำอธิบาย: Ubuntu 20.04.2 LTS
เผยแพร่: 20.04
ชื่อรหัส: โฟกัส
ขอบคุณล่วงหน้า