本站首页    管理页面    写新日志    退出                                          --==~欢迎光临FoxWolf的Blog~==--   



 日志搜索


«July 2025»
12345
6789101112
13141516171819
20212223242526
2728293031


公告


我的分类

日志更新

最新评论

留言板

链接

 


Blog信息
blog名称:FoxWolf
日志总数:127
评论数量:246
留言数量:0
访问次数:850064
建立时间:2006年5月31日




[Linux学习]Linux系统调用--getitimer/setitimer函数详解
文章收藏,  软件技术,  电脑与网络

FoxWolf 发表于 2008/7/4 16:13:22

【getitimer/setitimer系统调用】   功能描述:获取或设定间歇计时器的值。系统为进程提供三种类型的计时器,每一类以不同的时间域递减其值。当计时器超时,信号被发送到进程,之后计时器重启动。 用法: #include <sys/time.h> int getitimer(int which, struct itimerval *value);int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);   参数: which:间歇计时器类型,有三种选择 ITIMER_REAL //数值为0,计时器的值实时递减,发送的信号是SIGALRM。ITIMER_VIRTUAL //数值为1,进程执行时递减计时器的值,发送的信号是SIGVTALRM。ITIMER_PROF //数值为2,进程和系统执行时都递减计时器的值,发送的信号是SIGPROF。 value,ovalue:时间参数,原型如下 struct itimerval {    struct timeval it_interval; /* 计时器重启动的间歇值 */    struct timeval it_value;    /* 计时器安装后首先启动的初始值 */}; 我的备注:      itimerval结构中的it_value是减少的时间,当这个值为0的时候就发出相应的信号了. 然后再将it_value设置为it_interval值. 也就是先处理it_value中设置的值,为0后发送信号(根据which来判断发送什么信号),之后都是根据it_interval的值发送信号。若it_value和it_interval都为0,也就没有相应的信号产生了 struct timeval {    long tv_sec;                /* 秒 */    long tv_usec;               /* 微妙(1/1000000) */}; getitimer()用计时器的当前值填写value指向的结构体。setitimer()将value指向的结构体设为计时器的当前值,如果ovalue不是NULL,将返回计时器原有值。 返回说明: 成功执行时,返回0。失败返回-1,errno被设为以下的某个值 EFAULT:value或ovalue是不有效的指针EINVAL:其值不是ITIMER_REAL,ITIMER_VIRTUAL 或 ITIMER_PROF之一  我的测试程序例子:500)this.width=500'>mysetiitimer.rar  原文地址 http://club.cn.yahoo.com/bbs/threadview/1200062866_125__pn.html


阅读全文(9783) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.201 second(s), page refreshed 144768521 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号