AT(1) | Linux Programmer's Manual | 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手冊頁翻譯計劃》:¶
跋¶
本頁面中文版由中文 man 手冊頁計劃提供。中文 man 手冊頁計劃:../../man-pages-zh/manpages-zh
Nov 1996 | local |