gpt4 book ai didi

Java进程仍在运行

转载 作者:太空宇宙 更新时间:2023-11-04 12:08:11 24 4
gpt4 key购买 nike

我正在使用 shell 脚本中的方法来执行 jar 文件。

function executeJar(){
java -cp $BASE_PATH"myjar.jar":$CLASSPATH/* com.sample.main.App config.json
}

即使在 jar 完成执行后,java 进程仍然处于 Activity 状态并且不会被杀死。我应该手动杀死它吗?有什么解决方案。

最佳答案

  1. 检查是否有任何资源仍处于打开状态(数据库连接、输入读取器、套接字等)。确保 .close() 这些资源或使用 try-with-resources 语句(它们会为您关闭它)

  2. 如果您正在使用线程,可能仍有一些线程在运行。或者你使用的东西可能有相关线程(例如数据库连接池)。使用 Visual VM 工具(它随每个 JDK 一起提供,只需在您的控制台上键入 jvisualvm)。打开 Visual VM,运行您的应用程序并确保它不会自动退出,在 Visual VM 的左侧面板上选择您的应用程序运行时,然后监视 Visual VM 上的线程选项卡。关闭您的应用程序并检查是否还有任何东西在运行。 https://docs.oracle.com/javase/7/docs/technotes/guides/visualvm/threads.html

  3. 如果您在 Windows 中运行,可能只有父进程(控制台)仍在运行。尝试使用 javaw 而不是 javaDifference between java/javaw/javaws

关于Java进程仍在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49864651/

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