问题
I know that both raise(SIGABRT)
and abort()
methods will send a SIGABRT signal to itself. But there are some difference between those 2 functions. (e.g - abort()
function unblocks the SIGABRT signal where as raise(SIGABRT)
does not.)
What are the other differences between raise(SIGABRT)
and abort()
methods
回答1:
The main difference it that abort() even ends the process if SIGABRT
is ignored.
Verbatim from man abort:
If the SIGABRT signal is ignored, or caught by a handler that returns, the abort() function will still terminate the process. It does this by restoring the default disposition for SIGABRT and then raising the signal for a second time.
来源:https://stackoverflow.com/questions/20212927/difference-between-raisesigabrt-and-abort-methods