Pracuję nad projektem, który jest mono EmailServer. Próbowałem dodać usługę do systemd, aby uruchamiała się automatycznie podczas rozruchu, ale mam problem.
Utworzyłem skrypt i dodałem go, /lib/systemd/system/emailserver.servicea następnie uruchomiłem ln -s /lib/systemd/system/emailserver.service /etc/systemd/system/emailserver.service.
Następnie wykonałem, systemd reload-daemona systemctl start emailserver.servicepotem, kiedy biegnę ps -ef |grep -i emailserver, widzę, że mono EmailServer.exedziała, a wszystko wygląda dobrze.
Jednak po ponownym uruchomieniu serwera w /var/log/messagespliku zawiera on następujący komunikat o błędzie
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.
W moim skrypcie emailserver.service mam następujące
[Unit]
Description=Boardies Email Server Startup Script
[Service]
ExecStart=/home/bits/EmailServer/start.email
Restart=always
[Install]
WantedBy=multi-user.target
Używam OpenSuse 12.1
Co robię źle, dziękuję za wszelką pomoc, którą możesz udzielić.
AKTUALIZACJA Dowiedziałem się, co powoduje, że program przestaje działać podczas uruchamiania, ale nie jestem pewien, jak mogę rozwiązać ten problem. Mój program opiera się na bazie danych MySQL i myślę, że mój program uruchamia się przed uruchomieniem MySQL. Jak mogę sprawić, by moja usługa nie ładowała się, dopóki MySQL nie uruchomi się.