【发布时间】:2012-12-27 17:12:04
【问题描述】:
我想在 C 程序退出时执行管理功能。我知道atexit(),它可以帮助注册一个正常退出的函数,但不适用于像 SIGINT 或 SIGQUIT 这样的信号。我不想为默认行为是终止程序的所有此类信号注册信号处理程序。我只想注册一个函数,该函数将在程序终止之前执行,无论原因是什么。如何在 C 中做到这一点?
【问题讨论】:
-
我认为没有选择。 A related question我发了,可能对你有帮助
-
你正在使用哪个平台,如果是 window 那么 Hooks 可能在一定程度上有用。
-
这个答案最后一段提到的方法怎么样:stackoverflow.com/a/12741496/694576?
-
内核模块不是一个好的解决方案——它们对内核版本的变化过于敏感,很多人,包括我自己,不会安装额外的内核模块,除非有一个非常好的理由为它。
-
我也有这个问题。哇。这个相同的问题。如果这个问题有更好的答案就好了