/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.