vine-users ML アーカイブ



[vine-users:078751] Re: cronに ついて

  • From: "OOSATO, Kazzrou" <kazz@xxxxxxxxxxxxxx>
  • Subject: [vine-users:078751] Re: cronに ついて
  • Date: Wed, 17 Sep 2008 21:14:09 +0900
  大里です。

cron からの起動時のオーバーヘッドによるタイムラグで、1〜2 秒程度遅れ
ることは度々ありますが、進むというのはちょっと謎めいていて、おもしろ
いですね。
謎解きをしてみました。

>From: kaz <okui@xxxxxxxxxxxx>
>Subject: [vine-users:078750] Re: cronについて
>Date: Wed, 17 Sep 2008 15:08:07 +0900

> ntpで時間はあわせてるんですがcron自体の起動時間がずれるのはなんとも・・・
> 多分cronは22:45でスタートしてるんでしょうけどログをとってるsyslogの時計では22:44:59だったという理解でいいんでしょうか?
> 
 vixie-cron は目覚めて仕事をしたあと、次の 分:00 秒までの秒数を
60 - (いまの時刻の)tm->tm.sec で算出してから sleep() で眠りに入る
ようなことをやっていた記憶があるので、もしクロックが進み気味のマシ
ンで、そのプログラムが起動される直前の sleep 中にたまたま ntp によ
る時刻同期が行われてクロックが戻されるとその現象が起きそうです。
意図的にそういう状況を作って実験したら、そうなりました。
vixie-cron-3.x と vixie-cron-4.x とでは少し変わったような気もするの
ですが、済みませんソースはちゃんと読んでいません(^^;。

-- 
; kazz / 大里和朗