GLib程序终止信号处理?

时间:2013-07-26 05:45:21

标签: c signals glib

我最近接触过GLib并正在玩它。我已经能够用GLib函数替换大量的C库函数(除此之外,我是命令行处理的忠实粉丝!)。但是,有一件事我无法找到很多文档来自操作系统的信号处理。即在Linux中,有没有更好的方法可以处理CTRL + C或其他信号来终止应用程序?目前我使用signal(),但我想知道是否有一种方法可以通过GLib为CTRL + C设置我的处理程序。

一如既往,感谢您的帮助。

1 个答案:

答案 0 :(得分:6)

有一种方法可以通过GLIB使用信号!这些是可用于处理信号的一些功能:

guint               g_unix_signal_add                   (gint signum,
                                                         GSourceFunc handler,
                                                         gpointer user_data);
guint               g_unix_signal_add_full              (gint priority,
                                                         gint signum,
                                                         GSourceFunc handler,
                                                         gpointer user_data,
                                                         GDestroyNotify notify);
GSource *           g_unix_signal_source_new            (gint signum);

查看 UNIX-specific utilities and integration, , g_unix_signal_add()