c - 使用 GLib 从 Python 子进程捕获信号
问题描述
我试图控制我的光标在程序执行的某些点的外观。具体来说,我希望它在执行 Python 脚本时成为“微调器”,然后在执行完成时成为标准指针。现在,我在 Glade 中有一个 leave-event-notify 回调,当它离开某个区域时会更改微调器,但这并不理想,因为用户可能不知道移动光标并且光标不能准确地表示程序的状态。
我的 Python 程序在执行结束时发出 SIGUSR1 信号。我正在使用 GLib 的g_spawn_async_with_pipes
. 有什么方法可以从创建的子进程中捕获信号吗?谢谢!
解决方案
G_SPAWN_DO_NOT_REAP_CHILD
当您的 Python 子进程退出时,将标志传递给g_spawn_async_with_pipes()
然后调用g_child_watch_add()
以获取通知。SIGUSR1
如果进程在完成后退出,您无需担心。
除非您发布代码的最小可重现示例,否则很难提供更具体的答案。
推荐阅读
- excel - 如果我们只知道人口增长率和起始人口,如何在 Excel 中计算人口?
- amazon-eks - AWS EKS 逐步配置 Linux 服务器(用于 kubectl)
- spring - 为什么 RestTemplate 中没有像 postForEntity 这样的 patchForEntity 方法?
- javascript - 如何刷新日历中的事件日期(日期选择器)
- python - 查找输入是否在列表中
- javascript - 如何从base64音频数据中获取元数据
- vhdl - 如何修复位置关联错误 (10437)
- gora - $bin/gora 文件没有运行它总是在 cmd 中说“它不被识别为内部或外部命令”
- .htaccess - 使用 GET 参数重写 URL
- openmp - 找不到 OpenMP 环境变量