alarm signal函数,周期执行同一函数

/*
 ============================================================================
 Name        : AlarmSignal.c
 Author      : 
 Version     :
 Copyright   : Your copyright notice
 Description : 每3秒执行一个相同的动作。
 ============================================================================
 */

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

void sig_alarm(void)
{
	printf("每3s执行一次!\n");
	alarm(3);	//如果要周期执行,则signal执行的函数中要再设alarm.
	return ;
}

int main(void)
{

	alarm(3);	//开始必须有此alarm()函数,以启动后面的signal()函数。

	while (1)
	{
		if ((signal(SIGALRM, sig_alarm)) == SIG_ERR)
		{
			perror("signal");
		}
	}

	return 0;

}
posted @ 2012-10-31 15:53  helloweworld  阅读(268)  评论(0编辑  收藏  举报