.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
実行を繰り返す前にクリーンアップが完了するのを待つように指示します。