2012-07-27 39 views
0

我從Firefox成功啓動了一個可執行文件。當我試圖殺死相同的進程時,它不起作用。nsIProcess kill

我在做什麼錯?

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); 

我試圖登錄,所以我知道,出口被稱爲但是如果我嘗試打印了約的過程中我得到undefineds,空值,0的信息等

我已經按照the API,並一直在尋找bug報告,但似乎已經到了死衚衕。

預先感謝您!

回答

0

我設法解決這個很容易通過操作一個套接字到我的Java應用程序,並有自殺然後System.exit(1);