社区
脚本语言
帖子详情
perl如何实现定时执行功能
shootingstar_w
2008-05-28 01:38:25
我写了个定时采集服务器数据的程序,现在想每5分钟执行一次,请问在程序中如何实现。
while(1)
{
###采集程序
...
sleep(300);
}
感觉这样的话程序部分太大。别的有什么处理方法吗?比如alarm...
请问该如何实现
...全文
1182
10
打赏
收藏
perl如何实现定时执行功能
我写了个定时采集服务器数据的程序,现在想每5分钟执行一次,请问在程序中如何实现。 while(1) { ###采集程序 ... sleep(300); } 感觉这样的话程序部分太大。别的有什么处理方法吗?比如alarm... 请问该如何实现
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shootingstar_w
2008-05-29
打赏
举报
回复
[Quote=引用 5 楼 iambic 的回复:]
sleep不挺好的么。什么叫程序部分太大?
[/Quote]
就是程序部分很长,然后还要在主程序外加while
感觉不太美观 呵呵
iambic
2008-05-29
打赏
举报
回复
多写sub对性能没有影响……
shootingstar_w
2008-05-29
打赏
举报
回复
[Quote=引用 7 楼 iambic 的回复:]
写到一个sub里面不就完了。sleep恐怕是对程序结构(和可读性)影响最小的方法了。
[/Quote]
恩 这应该是比较好的办法了 我已经在程序中嵌套了几个SUB了 对性能会有影响吗
[Quote=引用 8 楼 fibbery 的回复:]
他所说的程序部分太大是采集的时间如果过长,那么采集周期就会超过5分钟!
你可以使用线程,将采集封装到函数,然后创建你的采集线程。
[/Quote]
可能我说的不够清楚,我是指程序代码过长。
暂时采集周期还没有超过5分钟,而且我就是通过线程采集的。还是谢谢!
fibbery
2008-05-29
打赏
举报
回复
他所说的程序部分太大是采集的时间如果过长,那么采集周期就会超过5分钟!
你可以使用线程,将采集封装到函数,然后创建你的采集线程。
iambic
2008-05-29
打赏
举报
回复
写到一个sub里面不就完了。sleep恐怕是对程序结构(和可读性)影响最小的方法了。
iambic
2008-05-28
打赏
举报
回复
sleep不挺好的么。什么叫程序部分太大?
wx红杉树
2008-05-28
打赏
举报
回复
wait
alarm
sigtrap / signal
上面的函数和模块会对你有用的
#!/usr/bin/perl
$SIG{ALRM}=\&timer;
alarm 1;
sub timer {
alarm 0;
print scalar localtime,"\n";
$SIG{ALRM}=\&timer;
alarm 1;
}
while (1) {sleep;}
shootingstar_w
2008-05-28
打赏
举报
回复
[Quote=引用 2 楼 jiuchang 的回复:]
perl里有alarm的功能,需要和eval配合使用
示例如下:
eval {
local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
alarm $timeout;
$nread = sysread SOCKET, $buffer, $size;
alarm 0;
};
if ($@) {
die unless $@ eq "alarm\n"; # propagate unexpected errors
# timed out
}
else {
# didn't
}
[/Quote]
那是不是只要定义这样一个信号量就可以了吗,和采集程序主体是怎样联系起来的呢?
jiuchang
2008-05-28
打赏
举报
回复
perl里有alarm的功能,需要和eval配合使用
示例如下:
eval {
local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
alarm $timeout;
$nread = sysread SOCKET, $buffer, $size;
alarm 0;
};
if ($@) {
die unless $@ eq "alarm\n"; # propagate unexpected errors
# timed out
}
else {
# didn't
}
xiaoyu9805119
2008-05-28
打赏
举报
回复
win下有计划任务
linux之类的有cron,自己定义一个就行了。
1766_
perl
实现
readlines
功能
其实之前的工作中这种
功能
早就用到了很多次,但是那时候
Perl
的水平应该还处于小学的造句水平。虽然那时候看过怎么写函数,但是看得非常模糊,加上那时候写代码的经验几乎没有,即使是看过的东西脑子里也很难留下印象。关于函数式的编程,我在Python学习使用中很早就掌握了。又加上公司的办公环境装了一套加密系统,Python只能够访问非加密文件,而
Perl
则在访问上没有任何限制,这更让我有了重返
Perl
的决心。虽说是用
Perl
的基本
功能
实现
读写非常简单,但是写的过程中我不止一次在想Python以及MATLAB的
功能
。
Perl
语言的循环
实现
Perl
(Practical Extraction and Report Language)是一种高效、灵活且
功能
强大的编程语言,广泛应用于文本处理、系统管理、网络编程等多个领域。其简洁的语法以及强大的正则表达式支持,使得
Perl
在数据处理和脚本编写方面表现得尤为出色。本文将深入探讨
Perl
语言中的循环
实现
,包括多种循环结构的使用及其特点,并通过示例代码进行详细说明。
perl
5和
perl
6_
Perl
6的必备
功能
perl
5和
perl
6
Perl
6于2015年圣诞节前后正式发布,从那时起,我就听到了很多有关
Perl
社区内外人士的疑问。 Jeff Goff是
Perl
社区的长期成员,并且是一个一直参与
Perl
6开发的好朋友,所以我从他听到别人在思考的问题中问了他几个问题。 Jeff在今年的会议(包括即将举行的OSCON伦敦活动)上一直就该主题发表演讲。 从我对他的采访中获得内幕消息。 您希望大家...
1765_
Perl
实现
fileread
功能
fileread是MATLAB中的一个函数,可以
实现
对一个文本文件的全文读取。读取后的内容返回给一个字符串量。在Python中也有类似的
功能
,不过MATLAB中的这个更能够直观看出函数的
功能
,因此题目暂取这样。完成了上面简单的两个小函数,重新构建我之前想要完成的
功能
,重新修改后的代码看着简单清晰了许多。这多少给了我一点启示:有些路还是需要走的,磨刀不误砍柴工!之前完成过一个readlines
功能
,借由那个
功能
实现
fileread
功能
在
Perl
中
实现
起来十分简单。
将
Perl
解释器加入应用程序中,扩展
功能
收藏
将
Perl
解释器加入应用程序中,扩展
功能
收藏 新一篇: 编译openssl-0.9.8a,用mingw,需要修改一下makefile | 旧一篇: C++中使用boost::serialization库――应用篇 function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.select
脚本语言
37,738
社区成员
34,210
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章