JavaScript Glib.spawn_async 标准输出文件描述符

发布于 2024-11-29 23:07:48 字数 535 浏览 1 评论 0原文

我想在 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 技术交流群。

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

发布评论

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

评论(2

不喜欢何必死缠烂打 2024-12-06 23:07:48

您引用的 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

撩发小公举 2024-12-06 23:07:48

此页面包含有关 http://developer.gnome.org/seed/3.0/ 的信息Seed-Modules.html 在 JavaScript 中嵌入/利用您的“c 模块”。取自页面的示例:

hello = imports.hello;
hello.say_hello_to("Tim");

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:

hello = imports.hello;
hello.say_hello_to("Tim");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文