Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

atq

スケジュールされたジョブの一覧を表示する
2015/05/20 08:00

対応OS: linux , freebsd, solaris
atq [-q queue]

 atqコマンドは、at、batch、crontabコマンドを実行してスケジュールされたジョブを一覧表示します。一般ユーザが実行した場合には、そのユーザがスケジュールしたジョブの一覧を表示しますが、スーパーユーザが実行した場合は、すべてのユーザがスケジュールしたジョブを表示します。

スケジュール

 UNIXには時間指定でコマンドを実行する機能(at、batch、crontabコマンド)があり、この機能を使用してコマンドを実行することをスケジュールといいます

HINT!

 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コマンドなのでキューはa
2 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コマンド辞典トップページに戻る

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5