2012-01-02 10 views
2

私はJFrameまたはアプレットとして実行できるJavaアプリケーションを持っています。アプレットを起動した後のゾンビのJavaインタープリタは、再起動したときにJavaコンソールが再表示されるのを防ぎます。

ブラウザでアプレットを起動すると、ブラウザに新しいタブが追加され、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コンソールが再び表示されます。また、クロムを使った再現手順を試しました。ゾンビプロセスのコマンドラインが異なる以外は同じ結果です。注意すべき

もの:私はアプレットを含むブラウザタブを閉じると

  • 、アプレットは、ユーザーがUI上のアクションを実行するのを待っている、通常の状態です。
  • javaプロセスがブラウザプロセスの子プロセスであるため、アプレットリスタート間でブラウザを完全に終了すると、この問題も解決されます。

誰でも説明や回避策がありますか?ありがとう!

+0

アプレットを含むブラウザのタブを閉じると、アプレットは通常の状態になり、ユーザーがUIで操作を実行するのを待っています。 – fury

+0

コメントとしてではなく質問に追加するだけで、見やすさと一貫性が向上します。 –

+0

@DaveNewton完了。 – fury

答えて

2

誰でも説明や回避策がありますか?

回避策については、アプレットビューアでテストしてください。

説明に関しては、ブラウザは/と感じるときにJRE/consoleを終了します。それを上書きするのは開発者やアプレットの責任ではありません。私はFFが、アプレットのページを離れた後(コンソールが消えたときの判断で)、30〜60秒間JREを実行し続けることに気がつきました。

+0

ありがとうございます。私はJDKで 'appletviewer'を実行可能としていたので、アプレット固有のバグを再現することはできません。 – fury

2

これはゾンビではありません。これは、あなたが何かが間違っていることを暗示することを意味します。これは、Javaプラグインが常に機能していた方法です。初めて必要なときは起動し、設定に応じてコンソールを開くことが必要になる場合があります。その後、ブラウザがシャットダウンするまで実行を継続します。言い換えれば、これはバグではなく機能です。

一部のブラウザには、Javaコンソールを開くためのメニュー項目が含まれています。それを使用して、何かを殺したり再起動したりせずに、必要に応じて再オープンすることができます。

+0

*「ブラウザがシャットダウンするまで実行されます。」*そうではありません。私の答えを見てください。 –

+0

私は、Windows上にJavaコンソールを再オープンするためのトレイアイコンがあると思います。 Linuxの開発者には、GUIベースではないものもありますか? – fury

関連する問題