У меня есть 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
является дочерним по отношению к процессу браузера..
У кого-нибудь есть объяснение или обходной путь?Спасибо!