此代码无法执行。信号通过信号发送到函数,但函数内部的代码没有运行。
void my_sigtrap(int sig) {
LOGD("mtf---- why not working ");
}
void test_signal() {//SIGTRAP
signal(SIGTRAP, my_sigtrap);
}
为什么my_sigtrap函数不起作用?
函数signal()
不发送信号,但安装您自己的信号处理程序,以便在收到信号时执行您的函数来处理信号。信号实际上是使用kill()
API发送到进程的(使用man 2 kill
查找详细信息(。