mozilla 扩展 - 读取外部进程的标准输出

发布于 2024-12-03 00:59:20 字数 165 浏览 1 评论 0原文

我正在尝试使用 Components.interfaces.nsIProcess 从 Thunderbird 扩展运行 dvipng 进程。我需要读取该过程的标准输出,但我无法找到一种方法来做到这一点。我在 nsIProcess2 上发现了一些线程,但那个线程(看起来)从未完全用 stdout 实现。有什么建议吗?

I am trying to run dvipng process from a thunderbird extension using Components.interfaces.nsIProcess. I need to read standard output of the process, but I am not able to find a way to do that. I found some threads on nsIProcess2, but that one was (as it seems) never fully implemented with stdout. Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

﹏雨一样淡蓝的深情 2024-12-10 00:59:20

nsIProcess2 不相关 - 它 已实现,但后来合并到 nsIProcess 中。它只是关于异步启动进程。

相关错误是 bug 484246错误 68702。后者已经解决,但到目前为止,默认情况下,代码并未随 Firefox/Thunderbird 一起提供(Firefox 和 Thunderbird 都不需要自己的大量代码)。所以你的选择是:

  • 自己构建 IPCModule 并将其作为扩展的一部分 - 不推荐,因为它会导致 很多麻烦
  • 创建一个将为您调用 dvipng 的本机库,通过 js- 使用它ctypes - 应该是最简单的解决方案。
  • 将 dvipng 转换为库并直接通过 js-ctypes 使用它 - 可能也不太难,这也会给你带来更好的性能。

nsIProcess2 is unrelated - it was implemented but later folded into nsIProcess. It was only about starting processes asynchronously.

The relevant bugs are bug 484246 and bug 68702. The latter has been resolved but so far that code doesn't ship with Firefox/Thunderbird by default (it's quite a bit of code that neither Firefox nor Thunderbird need themselves). So your options are:

  • Build IPCModule yourself and make it part of your extension - not recommendable because it will cause lots of troubles.
  • Create a native library that will call dvipng for you, use it via js-ctypes - should be the easiest solution.
  • Turn dvipng into a library and use it directly via js-ctypes - probably not too hard either, this will also give you better performance.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文