LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2787|回复: 4

关于perl里的alarm用法提问!

[复制链接]
发表于 2006-8-6 17:13:33 | 显示全部楼层 |阅读模式
我想每隔固定的时候就alarm一次,但是我查alarm的用法时,写着只能alarm一次。
我想用alarm在固定的时间周期里循环调用函数,应该怎样做??谢谢!
发表于 2006-8-7 10:43:10 | 显示全部楼层
用fork()再开一个进程不好么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-7 11:59:32 | 显示全部楼层
Post by luoyong
用fork()再开一个进程不好么?

但是我还是要在一个固定的时间(例如3秒)循环内来fork()一次,那么我怎样可以控制每3秒fork()一次呢??谢谢!
回复 支持 反对

使用道具 举报

发表于 2006-8-7 21:30:27 | 显示全部楼层
那就不要fork()了,用$SIG,这个是用来处理signal的,每次alarm系统都向程序发送一个名为ALRM的signal.

例子:

每秒打印一个"alarm"
  1. #!/usr/bin/perl -W
  2. $SIG{ALRM}=sub {print "alarm.\n";[color="red"]alarm(1)[/color]};
  3. [color="red"]alarm(1)[/color];
  4. while(1){}
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-13 11:12:42 | 显示全部楼层
谢谢,解决了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表