bashスクリプトを使用して次の問題が発生します。ここでサービスとしてのbashスクリプトの実行と別のbashスクリプトへの書き込みが機能しない
は、私は「スタートアップ」スクリプトファイル内で持っているものです。
#!/bin/bash
java -cp ../lib/online-store.jar:../lib/* com.online.store.Main
OnlineStorePID=$!
if [$OnlineStorePID -ne 0] then
echo "kill $OnlineStorePID" > shutdown
fi
基本的に私は何をすべきか、Javaアプリケーションを実行するプロセスIDを取得し、別のbashのファイルに書き込むことです。このプロセスはすべて起動スクリプトを実行するときに機能し、 'shutdown'スクリプトファイルは 'kill processIDNumber' cmdを含む行で正常に更新されます。
は今、私は、以下のコマンドを使用して、このスクリプトのためのUbuntu上でサービスを作成しようとしました:私は、サービスを開始すると
sudo systemctl daemon-reload
sudo systemctl enable online-store.service
sudo systemctl start online-store
javaアプリケーションが正常に起動しますが、シャットダウンスクリプト・ファイルは更新されません。 'echo "kill $ OnlineStorePID"> shutdown "行は実行されていないようです。私は文句の誤りはありません。誰もがここで何が問題であるか知っていますか?ここで
は私のサービスファイルです:[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
マインクラフトなどのようなjavaコマンドを実行します。)のhttps://minecraft.gamepedia .com/Tutorials/Ubuntu_startup_script – mko
サービスファイルには何がありますか? – 123
あなたは 'execstop'サービスは必要ありません.pidを自分で試して管理する必要はありません。 – 123