最佳答案
我可以向信号处理程序提供/传递任何参数吗?
/* Signal handling */
struct sigaction act;
act.sa_handler = signal_handler;
/* some more settings */
现在,处理器看起来像这样:
void signal_handler(int signo) {
/* some code */
}
如果我想做一些特殊的事情,例如删除临时文件,我可以提供这些文件作为参数到这个处理程序?
编辑0: 谢谢你的回答。我们通常避免/不鼓励使用全局变量。在这种情况下,如果您有一个很大的程序,那么在不同的地方可能会出错,您可能需要进行大量的清理工作。为什么 API 被设计成这样?