3

unix系统下..

我想在每个星期六运行一个 perl 脚本 A.pl。我尝试了下面的代码,它可以工作。但我想知道是否存在任何其他代码可以工作但不继续检查繁忙循环中的时间?

while(1)
{
        @Time = localtime();
        if( $Time[6] eq "6" )
        {
                `perl A.pl`;
        }
}
4

3 回答 3

6

在 Unix 下,定期运行程序是cron. 用户可以使用命令将他们的作业编辑到crontab中(将您的环境变量设置为您喜欢的编辑器)。crontab -eEDITOR

crontab 的格式在您阅读的crontab(5)中进行了描述

 man 5 crontab

新 cron 用户最常见的问题是 cron 作业在最小环境下运行;甚至没有PATH被导出,所以你必须PATH在你的程序中设置。

那么你的程序输出到哪里去了?stdoutstderr上的任何输出都将邮寄到您的帐户。如果您想在其他地方使用它,您的 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
于 2013-06-01T13:23:52.977 回答
5

将其放入crontab中,如下所示:

0 0 * * 6 /path/to/perl A.pl

当然,这是假设您使用的是 Unix。我对Windows一无所知。

于 2013-06-01T13:14:51.053 回答
1

如果您使用的是 unix/linux 系统,您可以将 A.pl 脚本放在 crontab 中。

于 2013-06-01T13:14:25.907 回答