2010-08-07 89 views
1

我开始开发一个必须与外部应用程序交互的扩展。我可以按照here的描述运行外部应用程序,但我没有看到获得任何反馈的方法。我得到的唯一信息是退出状态,而我需要读取应用程序输出,因为它会出现在终端(stdout)上。有没有办法做到这一点?有没有办法从XUL的流程中获得反馈?

回答

1

运行nsiProcess后,在检查isRunning属性时循环。当它停止运行时,请检查exitValue属性。据我了解,这可能会在不同平台上表现不同,但我在Windows上成功使用它。

+0

没有必要循环,当过程完成时我可以通知观察员。但在这个我没有找到输出,是吗?如果过程正确完成,则退出值应为0,如果执行中存在问题,则数值代码与0不同。 – Andrea 2010-08-08 12:07:33

+0

我不知道如何获得观察者通知,但我通过setInterval检查isRunning,然后读取exitValue来完成。你是说你正在检查exitValue并且它没有被设置? – pc1oad1etter 2010-08-09 14:03:01

+0

对不起,我现在只阅读此回复。我只是说exitValue不是输出。不管怎样,谢谢你。要通知观察者,请在此处检查runAsync方法:https://developer.mozilla.org/en/nsIProcess – Andrea 2010-08-27 00:29:50

相关问题