私のShellScriptに与えられた時間にJavaファイルを実行させます。

私のShellScriptに与えられた時間にJavaファイルを実行させます。

.sh私のファイルに特定の時間にJavaプログラムを実行させたいと思います。


これは私の.shファイルです:

#Runs Java Repeatedly.
#Reset directory
cd
#Go until src
cd Desktop/Lin\ Lab/Java\ Workspace/SandBubbler/src/

for((i = 0; i < 10; i++))
do
    java testerPackage.BubblerSimulation
    #kill process after x amount of seconds.
done

私はUnix/Linuxに初めて接する人です(昨日から学び始めました)。簡単に説明してください。ありがとうございます!

ベストアンサー1

for ((i=0; i<10; i++)); do
    java testerPackage.BubblerSimulation &
    javapid=$!
    sleep 10
    kill -TERM $javapid
    wait $javapid
done

コマンドが実行された後、それを使用すると&バックグラウンドで実行され、次のコマンドが続行されます。次に、特殊変数値の最後のバックグラウンドコマンドのpid(プロセスID)をキャプチャします$!

sleep指定された秒だけ一時停止するコマンドです。

kill次に、キャプチャされたpidでコマンドを使用して、プロセスが自分で終了し、次のループjava実行を繰り返す前にクリーンアップが完了するのを待つように指示します。

おすすめ記事