/etc/systemd/system dossier :
[Unit]
Description=WSO2 IoT Message broker
[Service]
Environment="JAVA_HOME=/usr/lib/jvm/java-8-oracle"
Type=forking
ExecStart=/home/ubuntu/wso2iot-3.1.0/bin/broker.sh
[Install]
WantedBy=multi-user.target
J'essaie d'exécuter l'un des mudles de WSO2 IoT Server, mais cela n'a pas d'importance.
Quand je lance ce bash script manuellement, il se charge longtemps et reste en mode lancé, car il exécute quelque chose comme une application de serveur Web qui prend alors un port spécifique.
Quand je lance ce service comme ceci :
sudo systemctl start myservice.service
Cela prend beaucoup de temps, puis dit :Start operation timed out. Terminating.
Je dois faire en sorte que ce service soit lancé pour toujours jusqu'à ce que je l'arrête manuellement.
Qu'ai-je manqué dans mon fichier de configuration de service ?
Réponse acceptée :
Définissez le Type de votre script de service soit en simple ou oneshot . Selon le comportement du script shell lancé.
- si le script shell exécute une boucle sans fin et ne se termine pas, définissez
Typeàsimple - sinon définir
Typeàoneshot
Après avoir effectué vos modifications, rechargez la configuration avec systemctl daemon-reload et démarrez votre service.