「モダン」cron
デーモン内部ジョブをスケジュールするにはどうすればよいですか?一部のcrond
sは、at
を介して実行をスケジュールすることがよくありました。したがって、crontabが書き出された後、crond
を実行します。
おかげで、
いくつかのコオロギはこの質問で聞いた。いくつかの離散イベントシミュレーションペーパーとWikipediaを含むGood 'ol RTFC:
http://en.wikipedia.org/wiki/Cron#Multi-user_capability
このcronで使用されるアルゴリズムは次のとおりです。
- 起動時に、すべてのアカウント所有者のホームディレクトリで.crontabという名前のファイルを探します。
- 見つかった各crontabファイルについて、各コマンドが実行される将来の次回の時間を決定します。
- それらのコマンドを、対応する時刻と「5つのフィールド」の時刻指定子とともにFranta-Malyイベントリストに配置します。
- メインループに入る:
- キューの先頭にあるタスクエントリを調べて、実行される将来の期間を計算します。
- その期間寝ます。
- 起動し、正しい時刻を確認した後、タスクを作成したユーザーの特権で(バックグラウンドで)キューの先頭で実行します。
- このコマンドを実行する次回の時間を決定し、その時点でイベントリストに戻します。