【问题标题】:Catching signal from Python child process using GLib使用 GLib 从 Python 子进程捕获信号
【发布时间】:2020-08-04 16:07:33
【问题描述】:

我正在尝试控制我的光标在程序执行的某些时间点的外观。具体来说,我希望它在执行 Python 脚本时成为“微调器”,然后在执行完成时成为标准指针。现在,我在 Glade 中有一个 leave-event-notify 回调,当它离开某个区域时会更改微调器,但这并不理想,因为用户可能不知道移动光标并且光标不能准确地表示程序的状态。

我的 Python 程序在执行结束时发出 SIGUSR1 信号。我正在使用 GLib 的 g_spawn_async_with_pipes 从 C 文件生成 Python 脚本。有什么方法可以从创建的子进程中捕获信号吗?谢谢!

【问题讨论】:

    标签: c signals glib


    【解决方案1】:

    G_SPAWN_DO_NOT_REAP_CHILD 标志传递给g_spawn_async_with_pipes(),然后调用g_child_watch_add() 以在您的Python 子进程退出时获得通知。如果进程在完成后退出,您无需担心SIGUSR1

    除非您发布代码的minimal reproducible example,否则很难提供更具体的答案。

    【讨论】:

    • 我实际上一直在做一个最小的例子,我会在它准备好后尽快得到它 :)
    猜你喜欢
    • 2017-08-22
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多