.TH AT 1 "Nov 1996" local "Linux Programmer's Manual" .SH NAME at, batch, atq, atrm \- 排隊、檢查或刪除以後要執行的作業。 .SH 總覽 .B at .RB [-V] .RB [-q .IR 佇列] .RB [-f .IR 檔案] .RB [-mldbv] .B 時間 .B "at -c" .I 作業 .RI [作業...] .B atq .RB [-V] .RB [-q .IR 佇列] .RB [-v] .br .B atrm .RB [-V] .I 作業 .RI [作業...] .br .B batch .RB [-V] .RB [-q .IR 佇列] .RB [-f .IR 檔案] .RB [-mv] .RB [時間] .SH 描述 .B at 和 .B batch 從標準輸入或一個指定的檔案讀取命令,這些命令在以後某個時間用 .BR /bin/sh 執行。 .TP 8 .BR at 在指定的時間執行命令。 .TP 8 .BR atq 列出使用者的等待執行的作業;在使用者是超級使用者的情況下,列出所有人的作業。 .TP 8 .BR atrm 刪除作業。 .TP 8 .BR batch 在系統負載水平允許的時候執行命令;換句話說,當平均負 載降到低於0.8,或降到了在 atrun 檔案中指定的期望值時執行。 譯註:atrun 檔案參見 atd 手冊頁。 .PP .B At 允許相當複雜的時間指定,它擴充套件了 POSIX.2 標準。它接受 .B HH:MM 的時間式樣,用來指定在一天的某個時間執行一個作業。 (如果時間已經過了則假定為第二天。)你可以指定 .B midnight (午夜)、 .B noon (中午) 或 .B teatime (下午4點),你可以用 .B AM 或 .B PM 字尾指定一天的上午或下午。你可以給出 .B month-name day 加上可選 的年份的式樣用來指定執行 at 的日期,或者給出 .B MMDDYY 、 .B MM/DD/YY 或 .B DD.MM.YY 式樣用來指定執行 at 的日期。日期的指定 必須跟在時間指定的後面。你也可以給出象 .B now \+ .I 計數 時間單位 的式樣,這裡的時間單位可以是 .B minutes 、 .B hours 、 .B days 或 .B weeks, 你可以給時間加一個 .B today 字尾來指定 .B at 今天執行作業,可以 給時間加一個 .B tomorrow 字尾來指定 .B at 明天執行作業。 .PP 例如,要在三天以後的下午 4 點執行一個作業,at 時間引數可以 指定為 .B 4pm \+ 3 days。 要在7月31日上午10:00執行一個作業, at 時間引數可以指定為 .B 10am Jul 31, 要在明天上午1點執行一個 作業,at 時間引數可以指定為 .B 1am tomorrow。 .PP 時間指定的精確的定義可以在 .IR /usr/share/doc/at/timespec 找到。 .PP 對於 .BR at 和 .BR batch 兩者,從標準輸入或以 .B -f 選項指定的檔案中 讀取命令並執行之。工作路徑、環境變數(除了 .BR TERM、 .BR DISPLAY 和 .BR _ )、 umask 從所期望的時間起保持不變。從一個從執行 .B su(1) 命令得到的 shell 中呼叫的 .B "at "\- 或 .B "batch "\- 命令將保持當前的 userid。 使用者的命令的標準錯誤輸出和標準輸出將用郵件發給使用者。傳送郵件 使用命令 .BR /usr/sbin/sendmail。 從一個從執行 .B su(1)命令得到的 shell 中執行了 .B at ,登入 shell 的所有者將接到郵件。 譯註:userid 是使用者標識的意思。umask 是與每個程序相關聯的檔案 方式建立遮蔽字。 .PP 超級使用者可以在任何情況下使用這些命令。對於其他使用者,使用 at 的許可權由檔案 .I /etc/at.allow 和 .I /etc/at.deny 確定。 .PP 如果檔案 .I /etc/at.allow 存在,在其中提及的使用者名稱被允許使用 .BR at 命令。 .PP 如果 .I /etc/at.allow 不存在,而 .I /etc/at.deny 存在,所有在 .I /etc/at.deny 中未提及的使用者被允許使用 .BR at 命令。 .PP 如果兩者均不存在,只用超級使用者可以使用 .BR at 命令。 .PP 一個空的 .I /etc/at.deny 意味著所有使用者均被允許使用這些命令, 這是預設的配置。 .SH 選項 .TP 8 .B -V 在標準錯誤上輸出版本號。 .TP 8 .B -q queue 使用指定的佇列。一個佇列用一個字母標定,有效的的佇列標定的 範圍是從a到z和從A到Z。at 的預設佇列是 a,batch 的預設佇列是 b。佇列的字母順序越高,則佇列執行時越謙讓(執行級別越低)。 指定的佇列 "=" 保留給當前執行的作業所在的佇列。 .P 如果一個作業被提交到一個以大寫字母標定的佇列,則與提交到 batch 同樣對待。如果給 .BR atq 指定一個佇列,則只顯示在此指定 佇列中的作業。 .TP 8 .B -m 當作業完成時即使沒有輸出也給使用者發郵件。 .TP 8 .B -f file 從檔案而不是標準輸入中讀取作業資訊。 .TP 8 .B -l 是 .B atq 的別名。 .TP 8 .B -d 是 .B atrm 的別名。 .TP 8 .B -v 對於 .B atq, 顯示完整的在佇列中未被刪除的作業,對於其他 命令,顯示作業將要執行的時間。 .P 顯示的時間的格式類似於"1997-02-20 14:50",但如果設定了 .B POSIXLY_CORRECT 環境變數之後,格式類似於"Thu Feb 20 14:50:00 1996"。 .TP 8 .B -c 連線命令列中列出的作業並輸出到標準輸出。 .SH 相關檔案 .I /var/spool/at .br .I /var/spool/at/spool .br .I /proc/loadavg .br .I /var/run/utmp .br .I /etc/at.allow .br .I /etc/at.deny .SH 參見 cron(1), nice(1), sh(1), umask(2), atd(8) .SH 缺陷 在 Linux 下正確的批處理操作依賴於掛裝在/proc 上的一個 .IR proc - 型別的目錄的存在。 .PP 如果檔案 .I /var/run/utmp 不可獲得或已經損壞,或者在 .B at 所期 待的時間使用者沒有登入,向在環境變數 .BR LOGNAME 中找到的 userid 傳送郵件。如果 .BR LOGNAME 未定義或是空的,假定為當前的 userid。 .PP 當前實現的 .B at 和 .B batch 在使用者競爭資源的時候是不適合的。 如果你的站點是這種情況,你可以考慮其他的批處理系統, 例如 .BR nqs。 .SH 著作者 AT 大部分是由Thomas Koenig寫的。ig25@rz.uni-karlsruhe.de. .SH "[中文版維護人]" .B mhss .br 主要參照了: .BR Linux 實用大全 / 陳向陽,方漢 編著. -北京: 科學出版社,1998.8 .SH "[中文版最新更新]" .BR 2000/10/27 .SH "《中國linux論壇man手冊頁翻譯計劃》:" .BI http://cmpp.linuxforum.net .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR