信号状态是什么意思?

信号状态是什么意思?

我正在阅读《Unix环境中的高级编程》一书。

这是我无法理解的一句话:

具体来说,这些exec()函数将捕获的任何信号的处理更改为其默认操作,并保留所有其他信号的状态。

我了解信号的操作已更改为默认操作。但是,信号状态如何?

答案1

具体来说,exec() 函数将捕获的任何信号的处理更改为其默认操作,并保留所有其他信号的状态。

“所有其他信号的状态”是指未被捕获的信号,例如,它们被忽略(SIG_IGN)。

如果您的程序添加了信号处理程序,则程序可以捕获该信号(当然除了无法捕获的SIGKILL和)。SIGSTOP当您调用exec()函数时,这些信号处理程序在调用函数后都不会应用于程序exec()

如果您的程序没有为给定信号添加信号处理程序,那么调用函数exec()不会改变该信号影响程序的方式。

信号处理程序可以通过以下方式建立signal或者sigaction

相关内容