Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91598
  • 博文数量: 27
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-06 18:50
文章分类

全部博文(27)

文章存档

2011年(1)

2009年(26)

我的朋友

分类: C/C++

2009-05-06 19:27:55

 
在linux的进程学习中,信号的小应用
 
#include
#include
#include
#include
#define msleep(x) usleep(x*1000)   //定义毫秒的方法
int second=0,minute=0;  //全局变量与局部变量的区别
void time(int signo)
{
 alarm(1);
// int second=0,minute=0;  
 second++;
 if ( second > 59 )
 {
  second=0;
  minute++;
 }
 if ( minute > 59 )
 {
  minute=0;
 }
// msleep(500);
 printf("time %02d : %02d\r",minute,second);  //printf("\rtime %02d : %02d",minute,second); 两种写法都可以
 fflush(stdout);   //此处需要注意的是printf函数是行缓冲的,后面无'\n'则不能刷新缓冲区,无法显示
// msleep(500);
// alarm(1);    //alarm放在函数的前面或后面没有什么影响
}
int main()
{
 
// alarm(1);
// while(1)
// {
  
//  printf("test\n");
  alarm(1);    //此函数在主函数的位置在while循环上面即可
//  signal(SIGINT,time);
  signal(SIGALRM,time);
  raise(SIGALRM);  //这样可以立即显示时钟
//  alarm(1);
//  sleep(1);
// }
 while(1);
 return 0;
}
 
阅读(1274) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:Linux下的一些shell命令

给主人留下些什么吧!~~

石头J2009-05-06 19:44:56

嘿嘿,同桌,有冗余代码啊,去掉赘肉,质量很好么,再加强啊!