在unix系统下..
我想在每个星期六运行一个perl脚本A.pl。我尝试了下面的代码,它的工作原理。但我想知道是否存在任何其他代码可以工作,但不会在繁忙的循环中继续检查时间?
while(1)
{
@Time = localtime();
if( $Time[6] eq "6" )
{
`perl A.pl`;
}
}
答案 0 :(得分:6)
在Unix下,定期运行程序是cron
的工作。用户可以使用crontab -e
命令将其作业编辑到 crontab 中(将您的EDITOR
环境变量设置为您喜欢的编辑器)。
crontab的格式在 crontab(5)中描述,您可以使用
阅读 man 5 crontab
新cron用户最常见的问题是cron作业在最小环境下运行;甚至不导出PATH
,因此您 在程序中设置PATH
。
那么你的程序输出在哪里? stdout 或 stderr 上的任何输出都将邮寄到您的帐户。如果你想在其他地方使用它,你的crontab行必须重定向输出,例如使用像这样的crontab条目(注意:sh语法,而不是csh语法!):
# Quarter past 8 on Saturdays.
15 20 * * 6 /home/user/bin/A.pl >/home/user/A.stdout 2>/home/user/A.stderr
答案 1 :(得分:5)
答案 2 :(得分:1)
如果您使用的是unix / linux系统,可以将A.pl脚本放在crontab中。