JavaScript Glib.spawn_async 标准输出文件描述符
我想在 gnome3 shell 扩展中的 javascript 中的 GLib 绑定中使用 spawn_async 生成一个进程。
我需要类似 python 文档中的“standard_output=True”参数 http:// developer.gnome.org/pygobject/stable/glib-functions.html 启用后,会将文件描述符返回到进程的标准输出。 python API 和 C API 在这一点上有很大不同。
不幸的是,我在任何地方都找不到任何关于 GTK 的 JS API 的精确文档,尽管 shell 大部分都是用 js 编写的,但官方页面甚至没有列出它......
我的问题的背景是我调用了一个 python 脚本进行串行通信,因为我没有看到其他方法可以让 JS 从这样的脚本获取数据,只能通过生成一个进程。
您是否知道如何像这样启动进程的标准输出?
I want to spawn a process using spawn_async in the GLib bindings in javascript in a gnome3 shell-extension.
I need something like the "standard_output=True" parameter in the python doc http://developer.gnome.org/pygobject/stable/glib-functions.html which, when enabled, returns a filedescriptor to stdout of the process. The python API and C API differ heavily in this point.
Unfortunately, I cannot find any precise documentation of the JS API to GTK anywhere, the official page doesn't even list it though the shell is written in js to big parts...
The background of my question is that I call a python script doing serial communication, since I saw no other way to let JS get its data from such a script but through spawning a process.
Do you have any guess how to get the stdout of a process started like this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您引用的 pygobject 文档适用于静态库。由于 Seed 通过 GObject 自省来工作,因此您可以更安全地信任 C 文档。 (Seed 是 GObject 内省 Java 脚本库)
也许您可以推出自己的函数,在 C 中执行您想要的操作并将其公开给 Seed:http://developer.gnome.org/seed/stable/seed-Native-Functions.html
The pygobject documentation you referenced is for the static libraries. Since Seed works through GObject introspection, you're safer trusting the C documentation. (Seed is the GObject introspecting Java Script library)
Perhaps you can roll your own function that does what you want in C and expose it to Seed: http://developer.gnome.org/seed/stable/seed-Native-Functions.html
此页面包含有关 http://developer.gnome.org/seed/3.0/ 的信息Seed-Modules.html 在 JavaScript 中嵌入/利用您的“c 模块”。取自页面的示例:
This page includes info about http://developer.gnome.org/seed/3.0/seed-Modules.html embedding/utilizing your "c-module" in the javascript. An example taken from the page: