Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要编写一组 C++ 函数,它们将保存在一个单独的库文件中,用于记录其他人制作的不同 Linux 应用程序的崩溃日志。此类函数必须安装信号处理程序才能运行。
如果将使用它们的应用程序将安装自己的信号处理程序,我如何确保信号将到达我的记录器功能?
您可以在您的库中实现诸如signal、sigaction、sigprocmask等函数,以便使用它们代替 glibc 中定义的函数,以防止覆盖您的信号处理程序并阻塞您的信号。
signal
sigaction
sigprocmask
应用程序仍然可以通过直接调用相应的系统调用来规避这种情况。