C 我可以在单独的函数中安装信号处理程序吗

C 我可以在单独的函数中安装信号处理程序吗,c,signals,systems-programming,C,Signals,Systems Programming,我意识到这是一个愚蠢的问题,我相信我能回答。但是,如果我要在main以外的函数中安装信号处理程序,那么可以安全地假设信号处理程序在从该方法返回后仍将保留吗?是的,可以在单独的函数中执行,signal()不必在main()函数中执行,它可以在调用堆栈中的任何位置执行 对signal()的调用将一个信号号与一个操作相关联,该操作可能是一个函数地址。关联后不需要保留任何瞬态信息(如堆栈变量或动态内存)

我意识到这是一个愚蠢的问题,我相信我能回答。但是,如果我要在main以外的函数中安装信号处理程序,那么可以安全地假设信号处理程序在从该方法返回后仍将保留吗?

是的,可以在单独的函数中执行,
signal()
不必在
main()
函数中执行,它可以在调用堆栈中的任何位置执行

signal()
的调用将一个信号号与一个操作相关联,该操作可能是一个函数地址。关联后不需要保留任何瞬态信息(如堆栈变量或动态内存)