0

Firefox拡張機能から実行可能ファイルを正常に起動しています。同じプロセスを強制終了しようとすると、機能しません。

私は何が間違っているのですか?

var process;
var loadingMonitor = {
    launchExternalApp : function (jnlp) {
        process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
        var env = Components.classes["@mozilla.org/process/environment;1"].createInstance(Components.interfaces.nsIEnvironment);
        var javaWebStart = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
        javaWebStart.initWithPath(env.get("JAVA_HOME"));
        javaWebStart.append("bin");
        javaWebStart.append("javaws.exe"); //TODO fix this for linux and others http://www.koders.com/javascript/fid08E6670AF783B7BD5703D3378E5C9BB039326190.aspx?s=checkbox

        process.init(javaWebStart);

        var arguments = ["-Xnosplash", jnlp];
        process.runwAsync(arguments, arguments.length);
   },

    exit : function() {
        process.kill();
    }
}

window.addEventListener("load", loadingMonitor.launchExternalApp, false);
window.addEventListener("unload", loadingMonitor.exit, false);

ロギングを試したので、exitが呼び出されていることがわかりましたが、プロセスに関する情報を出力しようとすると、undefined、null、0などが表示されます。

私はAPIに従い、バグレポートを調べてきましたが、行き止まりになっているようです。

前もって感謝します!

4

1 に答える 1

0

Javaアプリにソケットを追加して、System.exit(1)を強制終了することで、これを非常に簡単に解決できました。

于 2012-07-30T15:07:16.527 に答える