J'ai le problème suivant lors de l'utilisation du script bash.L'exécution du script bash en tant que service et l'écriture dans un autre script bash ne fonctionnent pas
Voici ce que j'ai dans le fichier script « démarrage »:
#!/bin/bash
java -cp ../lib/online-store.jar:../lib/* com.online.store.Main
OnlineStorePID=$!
if [$OnlineStorePID -ne 0] then
echo "kill $OnlineStorePID" > shutdown
fi
En fait ce que je fais, est d'exécuter une application java, obtenir le numéro de processus et d'écrire à un autre fichier bash. Tout ce processus fonctionne quand j'exécute le script de démarrage, et le fichier de script 'shutdown' est mis à jour avec succès avec une ligne contenant 'kill processIDNumber' cmd.
Maintenant, je l'ai essayé de créer un service sur Ubuntu pour ce script en utilisant les commandes suivantes:
sudo systemctl daemon-reload
sudo systemctl enable online-store.service
sudo systemctl start online-store
Quand je commence le service de l'application java démarre correctement, mais le fichier de script d'arrêt est pas mis à jour. Il semble que l'echo "kill" ligne $ OnlineStorePID "> shutdown" n'est pas exécutée. Je ne reçois aucune erreur de plainte. Est-ce que quelqu'un sait quel est le problème ici.
Voici mon fichier de service:
[Unit]
Description=Online store service
Requires=multi-user.target
After=multi-user.target
Wants=mysql.service
[Service]
WorkingDirectory=/home/user/Desktop/online-store-service
#path to executable.
ExecStart=/home/user/Desktop/online-store-service/bin/startup
ExecStop=/home/user/Desktop/online-store-service/bin/shutdown
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Minecraft à la rescousse;) https: //minecraft.gamepedia .com/Tutoriels/Ubuntu_startup_script – mko
Qu'est-ce qui se trouve dans votre fichier de service? – 123
Vous n'avez pas besoin du service 'execstop' pour vous, pas besoin d'essayer de gérer vous-même les pids. – 123