sigaction没有执行SIGALRM信号对应的动作
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
void sig_alarm(int signo)
{
printf("sig_alarm running\n");
return;
}
int main()
{
struct sigaction sa;
sa.sa_handler = sig_alarm;
sigaction(SIGALRM, &sa, NULL);
alarm(4);
while (1) {
printf("waiting for sig_alarm\n");
}
return 0;
}
预期效果,4s后执行sig_alarm()函数。
但是实际上一直在输出waiting for sig_alarm;
是什么原因,请大神指教。
绝望的番茄
12 years, 9 months ago