#include<signal.h>#include<time.h>#include<setjmp.h>static void sig_usr1(int),sig_alrm(int);int main(){ if(signal(SIGUSR1,sig_usr1)==SIG_ERR) printf("wrong/n"); if(signal(SIGALRM,sig_alrm)==SIG_ERR) printf("wrong/n"); for(;;) pause(); }static void sig_usr1(int signo){time_t starttime;printf("starting sig_usr1:/n"); alarm(5); starttime=time(NULL);for(;;){ if(time(NULL)>starttime+10){break;} }printf("finish sig_usr1/n");}static void sig_alrm(int signo){printf("int sig_alrm/n");} 天天好心情~~~