JavaScript Glib.spawn_async 标准输出文件描述符
我想在一个GNOME 3的扩展中,用JavaScript的GLib绑定来启动一个进程,使用的是spawn_async这个方法。
我需要一个类似于Python文档中“standard_output=True”这个参数的东西,http://developer.gnome.org/pygobject/stable/glib-functions.html。这个参数开启后,可以返回进程的标准输出的文件描述符。Python的API和C语言的API在这方面差别很大。
可惜的是,我找不到关于JS和GTK的API的详细文档,官方页面甚至没有列出这些内容,尽管这个扩展的大部分是用JavaScript写的……
我问这个问题的背景是,我需要调用一个进行串行通信的Python脚本,因为我找不到其他方法让JavaScript从这样的脚本中获取数据,只能通过启动一个进程来实现。
你有没有什么想法,如何获取像这样启动的进程的标准输出?
2 个回答
0
这个页面包含了关于如何在JavaScript中嵌入或使用你的“C模块”的信息。你可以在这里找到相关的内容:http://developer.gnome.org/seed/3.0/seed-Modules.html。下面是一个从页面上摘录的例子:
hello = imports.hello;
hello.say_hello_to("Tim");
1
你提到的pygobject文档是针对静态库的。因为Seed是通过GObject的自省来工作的,所以你更应该相信C语言的文档。(Seed是一个用于GObject自省的JavaScript库)
也许你可以自己写一个C语言的函数,做你想要的事情,然后把它暴露给Seed使用:http://developer.gnome.org/seed/stable/seed-Native-Functions.html