2013-01-25 48 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(以及可能使用這種方法確定「下一次喚醒」的任何其他進程)。

相關問題