gpt4 book ai didi

java - 如何在 JAR 完成执行时终止 Java 进程

转载 作者:太空宇宙 更新时间:2023-11-04 09:01:55 25 4
gpt4 key购买 nike

我有一个 Java 程序可以执行一些 Web 服务调用。我将该程序打包在一个 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 方面不是很专业

最佳答案

基本上,如果所有非守护线程都已完成,则 Java 应用程序将终止。但是,您可以通过以下方式强制它终止:

System.exit(0);

关于java - 如何在 JAR 完成执行时终止 Java 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19651883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com