nous avons un simple script systemd pour démarrer un serveur MineCraft de façon service. Le SO est CentOS 7. Voici le script:
[Unit]
Description=Minecraft Server
After=syslog.target network.target
[Service]
Type=simple
WorkingDirectory=/root/Minecraft
ExecStart=/bin/java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
Restart=on-failure
[Install]
WantedBy=multi-user.target
Le démarrage du service fonctionne correctement mais à l'arrêt, le service reste dans un état d'échec. Voir:
systemctl status minecraftd.service
minecraftd.service - Minecraft Server
Loaded: loaded (/usr/lib/systemd/system/minecraftd.service; disabled)
Active: active (running) since Mon 2015-06-01 16:00:12 UTC; 18s ago
Main PID: 20975 (java)
CGroup: /system.slice/minecraftd.service
└─20975 /bin/java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
systemctl stop minecraftd.service
systemctl status minecraftd.service
minecraftd.service - Minecraft Server
Loaded: loaded (/usr/lib/systemd/system/minecraftd.service; disabled)
Active: failed (Result: exit-code) since Mon 2015-06-01 16:01:37 UTC; 3s ago
Process: 20975 ExecStart=/bin/java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui (code=exited, status=143)
Main PID: 20975 (code=exited, status=143)
Une idée?
Merci
Pour compléter la réponse de Michael, le code de sortie 143 est normal ici, c'est la façon dont la machine virtuelle Java a reçu un signal SIGTERM, envoyé par systemd pour arrêter le processus. Le signal SIGTERM a une valeur numérique de 15 (voir
man signal
).Maintenant, selon la spécification Posix, "l'état de sortie d'une commande qui s'est terminée parce qu'elle a reçu un signal doit être signalé comme supérieur à 128". ( http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_08_02 )
Ici, la machine virtuelle Java ajoute 128 + 15 et vous obtenez ce code de sortie de 143.
Ce code de sortie non nul a du sens, car cela permet de voir que votre programme java s'est arrêté à cause d'un signal externe, et vous avez la possibilité de savoir quel signal.
la source