0

いくつかの Web サービス呼び出しを行う Java プログラムがあります。そのプログラムを JAR ファイルにパックして、自分の Linux マシンに配置しました。次に、内容が.shファイルを作成しました

#!/bin/sh 
. /etc/profile 
echo "The Script Starts now!!!!!!!!!!" 

export JAVA_HOME=/u01/app/oracle/java/java64/jrockit-jdk1.6.0_29 
export PATH=$JAVA_HOME/bin:$PATH 
cd /u01/CRM_PRD/stores/CRM_COC_Utility/Jars 

java -jar CRM_AccountCOC.jar 

echo "The Script ends now!!!!!!!!!!"

このshファイルは、cronjobで45分ごとに実行するようにスケジュールしました。つまり、上記のコマンドは45分ごとに実行されます。

問題は、1 日か 2 日後に TOP コマンドを実行すると、この JAR の複数の実行状態が表示されることです。これにより、Linux サーバーの %CPU 使用率が増加しました。

JAR が完了するまでに 10 分かかり、JAR を再実行する頻度は 45 分後です。したがって、このJARが実行されたときにJavaプロセスも強制終了されるように、コードまたはshファイルで何をする必要がありますか。

それが私の問題を説明したことを願っています。私はLinuxとJavaのプロではありません

4

2 に答える 2

2

基本的に、すべての非デーモン スレッドが終了すると、Java アプリケーションは終了します。ただし、次の方法で強制終了できます。

System.exit(0);
于 2013-10-29T07:16:00.920 に答える