先上代码
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
void deal()
{
puts("receive sig");
}
int main()
{
signal(SIGALRM, deal);
alarm(3);
sleep(10);
puts("end");
}
3秒钟之后,打印输出,运行结束。
结论:
在安装了SIGALRM信号处理之后,sleep()依然会被打断。