我成功地从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,但是如果我尝试打印有关进程的任何信息,我会得到undefineds、null、0等。
我一直在关注the API,一直在看bug报告,但似乎走到了死胡同。
提前谢谢你!
发布于 2012-07-30 23:07:17
我设法很容易地解决了这个问题,方法是在我的java应用程序中添加一个套接字,然后让这个套接字自动终止,然后使用System.exit(1);
https://stackoverflow.com/questions/11684505
复制相似问题