2013-01-25 44 views
0

我在ELINOS4环境中的嵌入式设备中执行了一个cron实例。这个设备有一个问题,我认为与电池有关,这会改变系统日期。当日期发生变化时,Cron意外行为

对于嵌入式应用程序不是一个问题,因为应用程序resynchornize日期。但是对于cron守护进程会影响它的调度程序,从而导致将来未来执行下一个执行程序。执行的cron与标志我得到这个日志:

[3933] TargetTime=1359121500, sec-to-wait=60 
... 
[3933] spool dir mtime unch, no load needed. 
[3933] tick(45,13,24,0,5) user [root:0:0:...] cmd="/etc/logrotate /etc/logrotate.conf" 
[3933] TargetTime=1359121560, sec-to-wait=1130199663 
[3933] sleeping for 1130199663 seconds 

我试图手动更改日期,但cron的检测不到这种变化(它睡觉https://stackoverflow.com/a/4141239)。

一个简单的窍门是修改cron的源代码,但是有更好的解决方案吗?

在此先感谢

回答

0

除了明显的“修复你的硬件”,眼前的建议是有检查的时候一个守护进程,如果看到它跳回(或转发?)多了一个几秒钟后,重新启动crond(以及可能使用这种方法确定“下一次唤醒”的任何其他进程)。

相关问题