我有这个Perl脚本用于监视Linux中的文件夹.
为了不断检查目录的任何更新,我有一个在连续循环之间休眠5分钟的while循环:
while(1) {
...
sleep 300;
}
Run Code Online (Sandbox Code Playgroud)
在我的其他问题上没有人建议使用cron调度而不是for循环.
while与使用crontab提交cronjob相比,这个没有任何中断的构造看起来很难看:
0 */5 * * * ./myscript > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
另外,我正在使用2.6.9内核版本.
我使用该while解决方案的唯一原因是,如果我需要我的代码每分钟运行一次以上,或者需要立即响应外部事件,这两种情况都不是这样的.
我的想法通常是这样的:cron经过几十年的数百万人的测试,所以它至少和我刚刚汇总的代码一样可靠.
即使在我使用的情况下while,我仍然有一个cron工作,以便在发生故障时重新启动我的脚本.
我的建议是简单地使用cron.这就是它的设计目标.而且,顺便说一下,我很少将输出重定向到/dev/null,这使得调试太难了.通常我只是重定向到/tmp文件系统中的文件,以便我可以看到正在发生的事情.
只要您有自动清理程序,您就可以附加,如果您担心任何人在输出中看到任何内容,您甚至可以写入更私密的位置.
但最重要的是,如果丢掉输出,就无法分析罕见的故障.如果你认为你的工作没有错误,那么,无论如何,抛弃输出,但我很少考虑我的脚本没有错误,以防万一.
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |