テストat
ジョブをスケジュールし、atq
で確認しましたが、それらを実行するatd
デーモンが表示されません。
これはSolaris/Illumosカーネル内で管理されていますか?そうでない場合、どのデーモンがat
ジョブを管理しますか?
atd
のデーモンがすでにあるので、実際にはcron
が見つからないことに驚いています。
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
デーモンによっても処理されます。