java - 启动小程序后,僵尸 java 解释器会阻止 java 控制台在重新启动时重新出现

标签 java console applet interpreter zombie-process

我有一个 java 应用程序,可以作为 JFrame 或小程序运行。

在浏览器中启动小程序会在浏览器中添加一个新选项卡,并且还会显示 Java 控制台。关闭它们之后,我希望能够重复此操作并看到 Java 控制台重新出现。 它不会重新出现,但我可以在浏览器中重新加载我的小程序。

每次我都必须杀死这个由firefox启动的僵尸java解释器进程。

/usr/lib/jvm/java-6-sun-1.6.0.26/jre/bin/java -D__jvm_launched=22906841394 -Xbootclasspath/a:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/deploy.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/javaws.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/plugin.jar -Djava.class.path=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/classes -Dsun.awt.warmup=true sun.plugin2.main.client.PluginMain write_pipe_name=/tmp/.com.sun.deploy.net.socket.1444.1704699298565364673.AF_UNIX

终止进程后,Java 控制台将重新出现。还尝试了使用 chromium 的重现步骤,除了僵尸进程的命令行不同之外,结果相同。

注意事项:

  • 当我关闭包含小程序的浏览器选项卡时,小程序处于正常状态,等待用户在 UI 上执行操作。
  • 在小程序重新启动之间完全关闭浏览器也可以解决该问题,因为 java 进程是浏览器进程的子进程。

有人有解释或解决方法吗?谢谢!

最佳答案

Anyone has an explanation or workaround?

要解决此问题,请在小程序查看器中进行测试。 (控制台与生产无关,除非设计有很大缺陷。)

至于解释,浏览器将在需要时结束 JRE/控制台。开发者或小程序不能覆盖它。我注意到,离开小程序页面后,FF 通常会让 JRE 运行 30-60 秒(根据控制台消失的时间来判断)。

关于java - 启动小程序后,僵尸 java 解释器会阻止 java 控制台在重新启动时重新出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8696729/

相关文章:

debugging - Chrome 控制台调试坏了?

c# - 模拟 'System.Console' 行为

java - 小程序运行时出现代码错误,用户拒绝了权限

java - Spring (Java) - 注册和列表

java - 我如何在扩展类构造函数内部调用抽象类的构造函数

java - 无法从控制台获取完整的字符串输入

java - 托管签名 jar 时的安全注意事项

java - Applet 组件不可见

java - Android设备java中的串行通信

JAVA 类路径将文件作为命令行参数传递