atqコマンドは、at、batch、crontabコマンドを実行してスケジュールされたジョブを一覧表示します。一般ユーザが実行した場合には、そのユーザがスケジュールしたジョブの一覧を表示しますが、スーパーユーザが実行した場合は、すべてのユーザがスケジュールしたジョブを表示します。
UNIXには時間指定でコマンドを実行する機能(at、batch、crontabコマンド)があり、この機能を使用してコマンドを実行することをスケジュールといいます
- ① -q queue
一覧表示するキューを「a」から「z」、または「A」から「Z」で、「queue」に指定します。
通常、atコマンドの実行によってスケジュールされたジョブはキュー「a」に、batchコマンドの実行によってスケジュールされたジョブはキュー「b」に登録されています。表示される情報は、ジョブ番号、ジョブを実行する日時、キュー、スケジュールしたユーザ名です。
at、batch、crontabのコマンドによってスケジュールされたコマンド群をジョブといいます。
OS(ジョブ管理機能)はこれらのジョブに管理のための番号を付けます。これをジョブ番号といいます
キューとは待ち行列のことであり、先に入れられた(投入された)ジョブが最初に実行されるという性質を持ちます
[takeda]$ at 21:00
at> ls -l /var/log
at>
job 6 at 2003-08-03 21:00
atコマンドを実行してスケジュールを設定[takeda]$ at 21:00
at> ls -l /var/log2
at>
job 7 at 2003-08-03 21:00
atコマンドを実行してスケジュールを設定[takeda]$ atq
6 2003-08-03 21:00 a takeda
7 2003-08-03 21:00 a takeda
[takeda]$
[takeda]$ at 21:00
atコマンドでジョブ投入at> ls -l /var/log
at>
job 1 at 2003-08-07 21:00
[takeda]$ batch 21:30
batchコマンドでジョブ投入at> cp /var/log /var/log_old
at>
job 2 at 2003-08-07 21:30
[takeda]$ atq
1 2003-08-07 21:00 a takeda
atコマンドなのでキューはa2 2003-08-07 21:30 b takeda
batchコマンドなのでキューはb[takeda]$ atq -q b
2 2003-08-07 21:30 b takeda
#
現在のユーザはスーパーユーザ# atq
8 2003-08-03 21:00 a takedak
9 2003-08-03 21:30 a cmd
10 2003-08-03 22:00 a root
すべてのユーザがスケジュールしたジョブを表示#
本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.