web-dev-qa-db-ja.com

Linux環境で実行可能JARを開始および停止するためのシェルスクリプト

実行可能jar(executable.jarなど)の開始スクリプトと停止スクリプトを作成する必要があります。

シェルスクリプトを使用してそれを行う方法は?

。batファイルを使用してWindows環境で成功しました。しかし、同じようにシェルスクリプトを作成することはできません。

3
user3505567

これは単純なバージョンです。以下のような小さなスクリプトを作成できます(MyStart.shとして保存します)

#!/bin/bash
Java -jar executable.jar &      # You send it in background
MyPID=$!                        # You sign it's PID
echo $MyPID                     # You print to terminal
echo "kill $MyPID" > MyStop.sh  # Write the the command kill pid in MyStop.sh

このスクリプトを/bin/bash MyStart.shで実行すると、そのプロセスのPIDが画面に表示されます。

または、属性をMyStart.sh(chmod u+x MyStart.sh)に変更して、./MyStart.shで簡単に実行できます。

プロセスを停止するには、コマンドラインkill 1234で記述できます。ここで、1234はスクリプトが応答したPID、または/bin/bash MyStop.sh

使用した後は、スクリプトMyStop.shを必ず削除してください。

3
Hastur

タスクを停止するために別のスクリプトを実行する必要はありません。

Hasturのスクリプトからの借用:

#!/bin/bash
Java -jar executable.jar &      # Send it to the background
MyPID=$!                        # Record PID
echo $MyPID                     # Print to terminal
# Do stuff
kill $MyPID                     # kill PID (can happen later in script as well)
1
ethanwu10