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
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