Java-интерпретатор zombie после запуска апплета предотвращает повторное появление Java-консоли при повторном запуске - PullRequest
2 голосов
/ 02 января 2012

У меня есть Java-приложение, которое можно запустить как JFrame или как апплет.

Запуск апплета в браузере добавляет в браузер новую вкладку, а также отображает консоль Java.После того, как я закрою их оба, я ожидаю, что смогу повторить эту операцию и снова увидеть консоль Java. Он не появляется снова , однако я могу перезагрузить свой апплет в браузере.

Каждый раз, когда мне приходится убивать этот процесс интерпретатора зомби java, запущенный firefox.

/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.Также попробовал шаги по воспроизведению с хромом, это тот же результат, за исключением того, что командная строка процесса зомби отличается.

Обратите внимание:

  • Когда я закрываю вкладку браузера, содержащую апплет,апплет находится в нормальном состоянии, ожидая, когда пользователь выполнит действия с пользовательским интерфейсом.
  • Полное закрытие браузера между перезапусками апплета также решит проблему, поскольку процесс java является дочерним по отношению к процессу браузера..

У кого-нибудь есть объяснение или обходной путь?Спасибо!

Ответы [ 2 ]

2 голосов
/ 02 января 2012

У кого-нибудь есть объяснение или обходной путь?

Для обходного пути проверьте в средстве просмотра апплета.(Консоль не имеет отношения к производству, если дизайн не очень ошибочный.)

Что касается объяснения, браузер завершит работу JRE / консоли, когда / если это будет похоже на это.Это не зависит от разработчика или апплета, чтобы переопределить это.Я заметил, что FF обычно оставляет JRE включенным в течение 30-60 секунд после выхода из страницы апплета (судя по исчезновению консоли).

2 голосов
/ 02 января 2012

Это не зомби , под которым я предполагаю, что вы подразумеваете, что что-то идет не так;это то, как плагин Java всегда работал.Первый раз, когда это необходимо, он запускается, и это может включать открытие консоли, в зависимости от ваших настроек.Затем он продолжит работать, пока браузер не выключится.Другими словами, это не ошибка, а особенность.

В некоторых браузерах есть пункт меню для открытия консоли Java;Вы можете использовать его для повторного открытия по мере необходимости, не убивая и не перезапуская ничего.

...