当前位置: 首页 > 知识库问答 >
问题:

Windows cmd中的批处理文件不知道java程序何时终止

苏晓博
2023-03-14

我正在使用一个Windows可执行文件来完成一些优化任务。此可执行文件从Windows命令提示符(cmd)运行。它读取一个批处理文件,该文件告诉它如何运行一个模型接口(它将需要多次运行它),该模型接口读取和写入文本文件,以便在它和optimisation.exe程序之间输入/输出。这个模型接口是用java编写的,并且已经编译成功。我的批处理文件如下所示:

java-cp.;“C:\program files\location_of_required_jars\*”name_of_class_file

我的问题是,我正在运行的可执行文件需要知道java何时终止。此时,它在运行1次模型接口java程序后挂起,等待java...行完成。

有谁能提供如何让java通知cmd它已经完成的建议吗?

共有1个答案

陈昂熙
2023-03-14

如果批处理文件在运行第一个java命令后没有进一步进行,则表示java进程实际上尚未完成。您需要诊断问题,我建议首先确保它确实不是通过在java调用之后添加一些echo语句来完成的。接下来需要运行jps命令,这是JDK的一部分。jps将报告运行java进程的PID,然后执行jstack 以找出阻止java程序终止的原因。可能是主线程实际上没有完成,或者一些非守护进程线程仍在运行。

 类似资料:
  • 当我运行这段代码时,我只得到命令提示。。bat文件没有运行。如何使用这段代码执行批处理文件? 提前致谢

  • 问题内容: 在我的Java应用程序中,我想运行一个名为 的批处理文件 看来我什至无法执行我的批处理文件。我没主意了。 这就是我在Java中所拥有的: 以前,我有一个要运行的Python Sconscript文件,但由于该文件不起作用,我决定通过批处理文件调用该脚本,但该方法到目前为止尚未成功。 问题答案: 批处理文件不是可执行文件。他们需要一个应用程序来运行它们(即cmd)。 在UNIX上,脚本文

  • 在我的Java应用程序中,我想运行一个批处理文件,该批处理文件调用“” 似乎我甚至不能让我的批处理文件执行。我没主意了。 这是我用Java写的: 以前,我有一个我想运行的Python Sconscript文件,但由于它不起作用,我决定通过批处理文件调用脚本,但该方法尚未成功。

  • 问题内容: 我有一个处理很大文件并将数据发送到oracle数据库的应用程序(使用Java 6,oracle 9)。 在循环中,我使用并创建了所有使用生成的SQL语句。 我有一种情况,在期间将a 抛出。此时,该批处理停止执行。 我希望继续执行批处理,以便随后可以在method中检查失败的更新。 关于类BatchUpdateException的Javadoc说: 批处理更新中的命令无法正确执行并且抛出

  • 问题内容: 与Linux中的类似,有没有一种方法可以获取Windows批处理文件()中程序的退出状态? 假设该程序在成功执行时失败,在失败时失败,我如何将这些退出值捕获在文件中? 问题答案: 使用%ERRORLEVEL%。您不喜欢批处理文件清晰明了吗?:)