ฉันกำลังทำงานในโครงการที่เป็น EmailServer แบบโมโน ฉันได้ลองเพิ่มบริการไปยัง systemd เพื่อให้มันเริ่มขึ้นโดยอัตโนมัติในระหว่างการบูต แต่ฉันมีปัญหา
ผมได้สร้างสคริปต์และเพิ่มไปแล้วเรียกใช้/lib/systemd/system/emailserver.service
ln -s /lib/systemd/system/emailserver.service /etc/systemd/system/emailserver.service
ฉันได้ดำเนินการแล้วsystemd reload-daemon
ตามด้วยsystemctl start emailserver.service
และเมื่อฉันเรียกใช้ps -ef |grep -i emailserver
แล้วฉันจะเห็นว่าmono EmailServer.exe
กำลังทำงานอยู่ทั้งหมดดูดีจนถึงขณะนี้
อย่างไรก็ตามเมื่อฉันรีบูทเซิร์ฟเวอร์ใน/var/log/messages
ไฟล์มันจะมีข้อความแสดงข้อผิดพลาดดังต่อไปนี้
Jul 16 19:41:02 dev-server systemd[1]: emailserver.service holdoff
time over, scheduling restart. Jul 16 19:41:02 dev-server systemd[1]:
emailserver.service holdoff time over, scheduling restart. Jul 16
19:41:03 dev-server systemd[1]: emailserver.service holdoff time over,
scheduling restart. Jul 16 19:41:03 dev-server systemd[1]:
emailserver.service holdoff time over, scheduling restart. Jul 16
19:41:03 dev-server systemd[1]: emailserver.service holdoff time over,
scheduling restart. Jul 16 19:41:04 dev-server systemd[1]:
emailserver.service holdoff time over, scheduling restart. Jul 16
19:41:04 dev-server systemd[1]: emailserver.service start request
repeated too quickly, refusing to start.
ใน scriptserver.service ของฉันฉันมีดังต่อไปนี้
[Unit]
Description=Boardies Email Server Startup Script
[Service]
ExecStart=/home/bits/EmailServer/start.email
Restart=always
[Install]
WantedBy=multi-user.target
ฉันใช้ OpenSuse 12.1
ฉันทำอะไรผิดขอบคุณสำหรับความช่วยเหลือที่คุณสามารถให้ได้
อัปเดต ฉันพบว่าสาเหตุใดที่ทำให้โปรแกรมหยุดทำงานเมื่อบู๊ตเครื่อง แต่ฉันไม่แน่ใจว่าจะแก้ไขปัญหานี้ได้อย่างไร โปรแกรมของฉันขึ้นอยู่กับฐานข้อมูล MySQL และฉันคิดว่าโปรแกรมของฉันเริ่มต้นก่อนที่ MySQL จะเริ่มต้นฉันจะทำให้บริการของฉันไม่โหลดจนกว่าจะเริ่ม MySQL ได้อย่างไร