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

启动小程序后的僵尸java解释器会阻止java控制台在重新启动时重新出现,java,console,applet,interpreter,zombie-process,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 -Xbootclassp

我有一个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控制台将重新出现。还尝试了铬的复制步骤,结果相同,只是僵尸进程的命令行不同

注意事项:

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

这不是僵尸,我想你的意思是暗示出什么地方出了问题;这就是Java插件一直以来的工作方式。第一次需要时,它会启动,这可能需要打开控制台,具体取决于您的设置。然后它将继续运行,直到浏览器关闭。换句话说,这不是一个bug,而是一个特性

一些浏览器包括一个用于打开Java控制台的菜单项;您可以根据需要重新打开它,而无需停止或重新启动任何内容

有人有解释或解决方法吗

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


至于解释,浏览器会在感觉需要时结束JRE/控制台。由开发人员或小程序来覆盖这一点是不可能的。我注意到FF通常会在离开小程序页面后让JRE运行30-60秒(从控制台消失的时间判断)。

忘了提到当我关闭包含小程序的浏览器选项卡时,小程序处于正常状态,等待用户在UI上执行操作。只需将此添加到问题中,不是作为评论——更好的可视性和一致性。“然后它将继续运行,直到浏览器关闭。”不是真的。请看我的答案。我认为在Windows上有一个托盘图标,允许重新打开Java控制台。有没有这样的东西,即使不是基于GUI的,也可以供Linux开发人员使用?谢谢您提供的详细信息。我不知道我有JDK的
appletviewer
可执行文件,所以我可以用它重现applet特有的bug。