【问题标题】:Safari is crashing when JVM get killed当 JVM 被杀死时,Safari 崩溃了
【发布时间】:2010-12-09 12:21:20
【问题描述】:

我在谷歌上爬了几个小时来搜索这种问题,但我找不到任何可行的解决方案,我希望你们能帮助我!

我有一个读取 COM 端口的 Java 小程序,在该过程之后,我将杀死它以便能够使用另一个小程序再次读取它,该小程序在我将用户重定向到另一个页面后被加载。

问题是当我杀死第一个小程序时,漏洞浏览器崩溃或无缘无故关闭......

低于我的杀手锏^^

public void killMobileChecker() {
        try {
            System.exit(0);
        } catch (Exception ex) {
            if (log_level >= 4) {
                ex.printStackTrace();
            }
        }
    }

如果我不调用该函数,safari 将不会关闭/崩溃,但下一个 java 小程序无法再读取 COM 端口。

有人知道 safari 或者我做错了什么吗?

** 编辑 杀死所有打开的线程的脚本

    private void closeConnection() {

        if (portId != null && port_opened) {
            try {
                if (input != null) {
                    input.close();
                }

                if (output != null) {
                    output.close();
                }

                if (serialPort != null) {
                    serialPort.close();
                }

                port_opened = false;
            } catch (Exception ioe) {
                if (log_level >= 4) {
                    ioe.printStackTrace();
                    System.out.println("System_Error_closing_Comm_Port");
                }
            }

            if (log_level >= 4) {
                System.out.println("\r\nMobile Comm port closed\r\n");
            }
//                LogUtilities.writeLog("\r\nClosing Mobile Comm port...\r\n");
        }
    }

【问题讨论】:

  • 听起来你需要正确关闭COM端口而不是关闭整个JVM
  • 我想我做得很好,在我想杀死整个 JVM 之前我杀死了所有线程

标签: process safari crash jvm kill


【解决方案1】:

您使用的是哪个 JVM 版本?在 jdk1.6 update 10 之后,applet 应该使用与浏览器不同的进程。在那之前,浏览器和小程序共享相同的进程。

【讨论】:

    猜你喜欢
    • 2013-09-19
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多