atは、コマンドを将来のある時点
で一度だけ実行するようにスケジュールするためのシェル コマンドです。このコマンドはUnix用に開発され、 UnixおよびUnix系システム、Windows、[1]、ReactOS [2]で利用できます。
Unix系オペレーティングシステムでは、標準入力atから一連のコマンドを読み取り、それらを1つの「at-job」にまとめ、後日実行します。このジョブは現在の環境を継承するため、スケジュール時と同じ作業ディレクトリで、同じ環境変数を使用して実行されます。これは、定期的な実行(例:1時間に1回、毎週火曜日、毎年1月1日)に使用される とは異なります。 と同様に、多くのUnixシステムでは、管理者がコマンドへのアクセスを制限できます。は、スケジュールされたジョブの実行完了時にユーザーにメールを送信するように設定でき、複数のジョブキューを使用でき、実行するジョブのリストを標準入力ではなくファイルから読み取ることができます。Linuxのコマンドは、主にThomas Koenigによって開発されました。[3]croncronatatat
このコマンドは、システムの負荷平均が特定の値を下回っている
場合にのみスケジュールされたジョブを実行するために、 の代わりに使用できます。batchat
1 月 31 日の午前 11 時 45 分に Cプログラムをコンパイルするサンプル コマンドは次のようになります。
$ echo "cc -o foo foo.c" | 1月31日11:45
または
$ at 1145 jan 31 at> cc -o foo foo.c at> ^D #(行の先頭でControl-Dを押す)
プログラムatqは現在キューに入っているジョブを一覧表示し、atrmキューからジョブを削除します。
$ atq
1234 2011-08-12 11:45 cc -o foo foo.c ユーザー
$ atrm 1234 $ atq
$
一部の Unix 系コンピュータオペレーティング システムでは、 はデーモンを使用します。このデーモンは、atdバックグラウンドで待機し、実行するジョブのリストを定期的にチェックして、 に代わってスケジュールされた時間にジョブを実行しますat。
コントロールパネルのWindowsタスクスケジューラのグラフィカルユーザーインターフェイスに加えて、Windowsには、指定した日時に操作を実行するようにスケジュールするシェルコマンド( に類似)が用意されています。これはWindows NT以降で使用可能でしたが、現在は に取って代わられ、廃止されています。スケジュールサービスが実行中の場合のみ使用できます。パラメータを指定せずに使用すると、スケジュールされたコマンドの一覧が表示されます。[4]は、コントロールパネルまたは によって作成または変更されたタスクにアクセスできません。 [5]また、 で作成されたタスクはデフォルトでは対話型ではありません。対話型にするには、明示的に要求する必要があります。[6]atcronschtasksat
atschtasks.exeat
ReactOSの実装はWindowsの実装に基づいています。Eric Kohlによって開発され、GPLv2ライセンスの下で提供されています。[2]
を使用するにはat、ユーザーはローカルの Administrators グループのメンバーである必要があります。
コマンド構文は次のとおりです。
[\\ComputerName] [{[ID] [/delete]|/delete [/yes]}]
[[\\ComputerName] 時間:分 [/interactive] [{/every:日付[,...]|/next:日付[,...]}] コマンド]
\\ ComputerNameID/delete/yeshours : minutes/interactive/every:date/next:command/?