【问题标题】:Windows 8 - Exit Java Application/Process without staying in backgroundWindows 8 - 退出 Java 应用程序/进程而不留在后台
【发布时间】:2014-07-03 16:32:03
【问题描述】:

我有一个 Java 应用程序,它通过批处理脚本启动以设置环境变量等。

在 Win7 上一切正常,但在 Windows 8 上,该进程不会完全停止并停留在后台,因为我可以在任务管理器中看到 javaw 进程。然后当再次启动应用程序时,会启动第二个 javaw-process。

我需要完全停止应用程序。有没有办法在 Java 代码中的应用程序关闭过程中执行此操作,或者 Win 8 中是否有设置来防止 Java 出现这种行为?或者是否存在启动进程/java时要传递的命令行参数?


澄清:似乎有一个新的 Windows 8 功能,即在关闭应用程序时,进程会暂停,当再次调用应用程序时,进程将重新唤醒。但是我的旧应用程序不支持这种重新唤醒,所以我想完全关闭应用程序并在下次调用时干净地重新启动它。为了关闭,我目前调用 System.exit(),但遗憾的是这还不够,进程处于既不死也不活,而是处于“睡眠模式”的状态。

【问题讨论】:

  • 你在Win7和Win8上使用的JRE版本有区别吗?
  • 不,我用的是同一个。

标签: java windows-8 process application-restart


【解决方案1】:

我建议在 Windows 8 系统上调试应用程序,并查看您希望应用程序关闭的代码中发生的情况。它可能正在等待特定资源。 如果需要,您可以随时执行System.exit() 强制关机。

【讨论】:

  • 为了澄清。这似乎是一个新的 Win8 功能,在应用程序关闭时,进程只是停止并在再次调用应用程序时重新唤醒它们。但是我的遗留应用程序不支持这种重新唤醒,所以我想完全关闭应用程序。因此,我当然会调用 System.exit 但这还不够,因为 THW Prozess 还活着
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 2023-03-11
  • 2013-11-19
  • 1970-01-01
  • 2012-12-14
  • 2012-12-12
  • 1970-01-01
相关资源
最近更新 更多