设为首页 加入收藏

TOP

alarm信号定时运行程序 Linux
2014-11-24 07:34:49 来源: 作者: 【 】 浏览:1
Tags:alarm 信号 定时 运行 程序 Linux

alarm信号定时运行程序 Linux


#include
#include


void sigprint(int n)
{
printf("2 seconds past.\n");
int i ;
for(i = 0;i<1000;i++)
for(i = 0;i<1000;i++)
for(i = 0;i<1000;i++)
for(i = 0;i<1000;i++)
;
}


int mysleep(int nsec)
{
int unleft;
sigset_t newmask,oldmask,susmask;
struct sigaction newact,oldact;


newact.sa_handler = sigprint;
sigemptyset(&newact.sa_mask);
newact.sa_flags = 0;
sigaction(SIGALRM,&newact,&oldact);


sigemptyset(&newmask);
sigaddset(&newmask,SIGALRM);
sigprocmask(SIG_BLOCK,&newmask,&oldmask);


alarm(nsec);
susmask = oldmask;
sigdelset(&susmask,SIGALRM);
sigsuspend(&susmask);


unleft = alarm(0);
sigaction(SIGALRM,&oldact,NULL);
sigprocmask(SIGALRM,&oldmask,NULL);
return unleft ;
}


int main(void)
{
int i = 10;


while(i){
mysleep(2);
i--;
}
return 0;
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android核心模块内容概述 下一篇Linux Shell实例精讲学习笔记

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)