java - 为什么应用程序完成后 java 进程没有关闭?

标签 java linux windows cmd sh

我编写了一个在后台运行的 java 程序。它工作正常,它做了它等待的事情。 我在windows中写了一个bat文件来运行它。

@echo off
start .\jre7\bin\java.exe -jar ".\my_jar.jar"
exit

当我运行这个 .bat 文件时,我可以在 任务管理器 上看到它并且它可以工作,当它完成时,java.exe 进程在 上关闭>任务管理器。 它适用于 Windows 但是当我在 .sh 文件中的 linux 上运行它时, 它 java 程序工作正常,因为它执行我等待它的操作,但是在 Sytem Monitorjava 进程未关闭。我希望它像 Windows 一样自行关闭。 在 sh 文件中:

export JAVA_HOME="/app/myfolder/java/jre1.7.0_51" 
export I_HOME="/app/myfolder/code" 

cd $I_HOME 

$JAVA_HOME/bin/java -jar my_jar.jar
RStat=$? 

问题是什么?

最佳答案

您还可以通过以下方式终止应用程序:

System.exit(0);

关于java - 为什么应用程序完成后 java 进程没有关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22689847/

相关文章:

配置单元中的 java.sql.SQLException : org. apache.thrift.transport.TTransportException?

windows - 在 VC2005/08 和 Mac Os env 中编译 LibXML2

java - Jersey 两种资源的相同路径

java - 解析扑克游戏描述(由多个不同转换器生成)

java - 如何在 Spring 框架中对数据提供者层进行单元测试(插入)?

c++ - 如何在指定位置安装Qt?

c++ - 在 Win32 API 中绘制格式化文本的最快方法是什么?

linux - perl 脚本执行时间非常慢

c - lseek EOVERFLOW 错误处理

linux - 来自 bash 脚本端口故障的 rsync