web-dev-qa-db-ja.com

Solaris / Illumosにはatジョブ用のデーモンがありますか、それとも内部で管理しますか?

テストatジョブをスケジュールし、atqで確認しましたが、それらを実行するatdデーモンが表示されません。

これはSolaris/Illumosカーネル内で管理されていますか?そうでない場合、どのデーモンがatジョブを管理しますか?

atdのデーモンがすでにあるので、実際にはcronが見つからないことに驚いています。

1
Bryan Field

Solaris10のcronのマニュアルページによると:

名前

cron-クロックデーモン

概要

/ usr/sbin/cron

説明

cronは、指定された日時にコマンドを実行するプロセスを開始します。

ディレクトリ/ var/pool/cron/crontabsにあるcrontabファイルにある指示に従って、定期的にスケジュールされたコマンドをcronに指定できます。ユーザーは、crontab(1)コマンドを使用して独自のcrontabファイルを送信できます。一度だけ実行されるコマンドは、at(1)コマンドを使用して送信できます。

cronは、独自のプロセス初期化フェーズ中、およびcrontabまたはatコマンドが実行されたときにのみ、crontabまたはatコマンドファイルを調べます。これにより、定期的にスケジュールされた間隔で新しいファイルまたは変更されたファイルをチェックするオーバーヘッドが削減されます。

Cronは決して終了しないため、一度だけ実行する必要があります。これは、svc:/ system/cron:defaultサービスを介して定期的に実行されます。ファイル/etc/cron.d/FIFOファイルは、cronの複数のインスタンスの実行を防ぐためのロックファイルとして使用されます。

cronは、ジョブのstdoutストリームとstderrストリームの出力をキャプチャし、空でない場合は、出力をユーザーにメールで送信します。ジョブが出力を生成しない場合、メールはユーザーに送信されません。例外は、ジョブがat(1)ジョブであり、ジョブの送信時に-mオプションが指定された場合です。

アカウントがロックされている場合、cronおよびatジョブは実行されません。ジョブとプロセスが実行されます。 shadow(4)ファイルは、ロックされておらず、ジョブとプロセスが実行されるアカウントを定義します。

したがって、Solarisにはatdはなく、ワンタイムジョブはcronデーモンによっても処理されます。

5
Laszlo Valko