AT(1)

NAME
at, batch, atq, atrm - 排隊、檢查或刪除以後要執行的作業。

總覽
at [-V] [-q 佇列] [-f 檔案] [-mldbv] 時間 at -c 作業 [作業...] atq [-V] [-q 佇列] [-v]
atrm [-V] 作業 [作業...]
batch [-V] [-q 佇列] [-f 檔案] [-mv] [時間]

描述
at 和 batch 從標準輸入或一個指定的檔案讀取命令，這些命令在以後某個時間用 /bin/sh 執行。

at  在指定的時間執行命令。

atq 列出使用者的等待執行的作業；在使用者是超級使用者的情況下，列出所有人的作業。

atrm
    刪除作業。

batch
    在系統負載水平允許的時候執行命令；換句話說，當平均負 載降到低於0.8，或降到了在 atrun 檔案中指定的期望值時執行。 譯註：atrun 檔案參見 atd 手冊頁。

At 允許相當複雜的時間指定，它擴充套件了 POSIX.2 標準。它接受 HH:MM 的時間式樣，用來指定在一天的某個時間執行一個作業。 (如果時間已經過了則假定為第二天。)你可以指定 midnight (午夜)、 noon (中午) 或 teatime (下午4點)，你可以用 AM 或 PM 字尾指定一天的上午或下午。你可以給出 month-name day 加上可選 的年份的式樣用來指定執行 at 的日期，或者給出 MMDDYY 、 MM/DD/YY 或 DD.MM.YY 式樣用來指定執行 at 的日期。日期的指定 必須跟在時間指定的後面。你也可以給出象 now + 計數 時間單位 的式樣，這裡的時間單位可以是 minutes 、 hours 、 days 或 weeks， 你可以給時間加一個 today 字尾來指定 at 今天執行作業，可以 給時間加一個 tomorrow 字尾來指定 at 明天執行作業。

例如，要在三天以後的下午 4 點執行一個作業，at 時間引數可以 指定為 4pm + 3 days。 要在7月31日上午10:00執行一個作業， at 時間引數可以指定為 10am Jul 31， 要在明天上午1點執行一個 作業，at 時間引數可以指定為 1am tomorrow。

時間指定的精確的定義可以在 /usr/share/doc/at/timespec 找到。

對於 at 和 batch 兩者，從標準輸入或以 -f 選項指定的檔案中 讀取命令並執行之。工作路徑、環境變數(除了 TERM、 DISPLAY 和 _)、 umask 從所期望的時間起保持不變。從一個從執行 su(1) 命令得到的 shell 中呼叫的 at - 或 batch - 命令將保持當前的 userid。 使用者的命令的標準錯誤輸出和標準輸出將用郵件發給使用者。傳送郵件 使用命令 /usr/sbin/sendmail。 從一個從執行 su(1)命令得到的 shell 中執行了 at ，登入 shell 的所有者將接到郵件。 譯註：userid 是使用者標識的意思。umask 是與每個程序相關聯的檔案 方式建立遮蔽字。

超級使用者可以在任何情況下使用這些命令。對於其他使用者，使用 at 的許可權由檔案 /etc/at.allow 和 /etc/at.deny 確定。

如果檔案 /etc/at.allow 存在，在其中提及的使用者名稱被允許使用 at 命令。

如果 /etc/at.allow 不存在，而 /etc/at.deny 存在，所有在 /etc/at.deny 中未提及的使用者被允許使用 at 命令。

如果兩者均不存在，只用超級使用者可以使用 at 命令。

一個空的 /etc/at.deny 意味著所有使用者均被允許使用這些命令， 這是預設的配置。

選項

-V  在標準錯誤上輸出版本號。

-q queue
    使用指定的佇列。一個佇列用一個字母標定，有效的的佇列標定的 範圍是從a到z和從A到Z。at 的預設佇列是 a,batch 的預設佇列是 b。佇列的字母順序越高，則佇列執行時越謙讓(執行級別越低)。 指定的佇列 "=" 保留給當前執行的作業所在的佇列。

如果一個作業被提交到一個以大寫字母標定的佇列，則與提交到 batch 同樣對待。如果給 atq 指定一個佇列，則只顯示在此指定 佇列中的作業。

-m  當作業完成時即使沒有輸出也給使用者發郵件。

-f file
    從檔案而不是標準輸入中讀取作業資訊。

-l  是 atq 的別名。

-d  是 atrm 的別名。

-v  對於 atq， 顯示完整的在佇列中未被刪除的作業，對於其他 命令，顯示作業將要執行的時間。

顯示的時間的格式類似於"1997-02-20 14:50"，但如果設定了 POSIXLY_CORRECT 環境變數之後，格式類似於"Thu Feb 20 14:50:00 1996"。

-c  連線命令列中列出的作業並輸出到標準輸出。

相關檔案
/var/spool/at
/var/spool/at/spool
/proc/loadavg
/var/run/utmp
/etc/at.allow
/etc/at.deny

參見
cron(1), nice(1), sh(1), umask(2), atd(8)

缺陷
在 Linux 下正確的批處理操作依賴於掛裝在/proc 上的一個 proc- 型別的目錄的存在。

如果檔案 /var/run/utmp 不可獲得或已經損壞，或者在 at 所期 待的時間使用者沒有登入，向在環境變數 LOGNAME 中找到的 userid 傳送郵件。如果 LOGNAME未定義或是空的，假定為當前的userid。

當前實現的 at 和 batch 在使用者競爭資源的時候是不適合的。 如果你的站點是這種情況，你可以考慮其他的批處理系統， 例如 nqs。

著作者
AT 大部分是由Thomas Koenig寫的。ig25@rz.uni-karlsruhe.de.

[中文版維護人]
mhss <jijingzhisheng@up369.com>
主要參照了： Linux實用大全 / 陳向陽，方漢 編著. -北京： 科學出版社，1998.8

[中文版最新更新]
2000/10/27

《中國linux論壇man手冊頁翻譯計劃》:
http://cmpp.linuxforum.net

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh