AT
Section: Linux Programmer's Manual (1)
Updated: Nov 1996
名字
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/doc/at-3.1.7/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 E-mail:jijingzhisheng@up369.com
主要參照了:
Linux實用大全
/ 陳向陽,方漢 編. -北京:
科學出版社,1998.8
[中文版最新更新]
2000/10/27
- 中國Linux論壇man手冊頁翻譯計劃》:www.cmpp.net/
-
(http://www.fanqiang.com)
進入【