我有一个执行一些 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!!!!!!!!!!"
我在 cronjob 中安排的这个 sh 文件每 45 分钟运行一次,这意味着上述命令每 45 分钟执行一次。
问题是当我在一两天后执行 TOP 命令时,我可以看到这个 JAR 的多个执行状态。因此,我的 linux 服务器的 %CPU 使用率增加了。
JAR 需要 10 分钟才能完成,重新执行 JAR 的频率是 45 分钟后。所以我需要在我的代码或 sh 文件中做些什么,这样当这个 JAR 执行时,java 进程也会被杀死。
希望它解释了我的问题。我在 linux 和 Java 方面不太专业