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