Tôi đang làm việc trên một dự án là một Máy chủ Email đơn. Tôi đã thử thêm một dịch vụ vào systemd để nó tự khởi động trong khi khởi động nhưng tôi gặp sự cố.
Tôi đã tạo tập lệnh và thêm vào /lib/systemd/system/emailserver.service
và sau đó chạy ln -s /lib/systemd/system/emailserver.service /etc/systemd/system/emailserver.service
.
Sau đó tôi đã thực hiện systemd reload-daemon
theo systemctl start emailserver.service
và sau đó khi tôi chạy ps -ef |grep -i emailserver
tôi có thể thấy nó mono EmailServer.exe
đang chạy, tất cả đều trông tốt cho đến nay.
Tuy nhiên, khi tôi khởi động lại máy chủ trong /var/log/messages
tệp thì nó chứa thông báo lỗi sau
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.
Trong tập lệnh emailerver.service của tôi, tôi có đoạn sau
[Unit]
Description=Boardies Email Server Startup Script
[Service]
ExecStart=/home/bits/EmailServer/start.email
Restart=always
[Install]
WantedBy=multi-user.target
Tôi đang sử dụng OpenSuse 12.1
Tôi đang làm gì sai, cảm ơn vì sự giúp đỡ của bạn.
CẬP NHẬT Tôi đã tìm ra nguyên nhân khiến chương trình ngừng hoạt động khi khởi động nhưng tôi không chắc làm thế nào tôi có thể khắc phục vấn đề này. Chương trình của tôi dựa trên cơ sở dữ liệu MySQL và tôi nghĩ chương trình của tôi đang khởi động trước khi MySQL bắt đầu, làm cách nào để dịch vụ của tôi không tải cho đến khi MySQL khởi động.