【问题标题】:Schedule::Cron never returns to main scriptSchedule::Cron 永远不会返回到主脚本
【发布时间】:2013-10-25 22:53:23
【问题描述】:

我试图在不使用crontab 的情况下每分钟运行一次 Perl 脚本 (test.pl)。由于我无法将 cron 作业写入 /etc/cron.d/,因此我使用的是 Perl 模块 Schedule::Cron

我已将 test.pl 的代码包含在一个连续运行的脚本中,并给出如下代码:

my $cron = new Schedule::Cron(sub {}); 
$cron->add_entry("* * * * *",\&test_function); 
$cron->run(nofork=>1)

问题在于这条线

$cron->run(nofork=>1)

永远不会返回到主脚本,并且不会执行之后给出的任何代码。

我需要一个解决方案来在后台运行 cron(使用 Schedule::Cron),然后返回主脚本执行剩余的脚本。

【问题讨论】:

    标签: perl cron


    【解决方案1】:

    变化:

    $cron->run(nofork=>1)
    

    到:

    $cron->run(detach=>1)
    

    这将立即返回到主脚本。来自Schedule::Cron(分离):

    如果设置为真值,调度程序进程将与 当前进程(仅限 UNIX)。

    【讨论】:

      猜你喜欢
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      • 2019-11-15
      • 2011-07-25
      • 1970-01-01
      • 2012-10-02
      • 2013-02-18
      • 1970-01-01
      相关资源
      最近更新 更多