跳至內容

at (Unix)

維基百科,自由的百科全書

類Unix 作業系統上,at命令用於在當前系統時間後的某個時刻,執行某個命令一次。更確切的說,at命令從標準輸入讀取一系列命令,把它們收集成一個計劃任務,在此後的某個時刻執行。這個任務仍使用當前的環境,並在與計劃制定時相同的工作目錄環境變量里執行。

它和cron不同,後者用於定期運行,比如每個小時、每天、每個禮拜三或每年的某個日子執行。但和cron相似,許多Unix系統的管理員會限制at命令的使用。

at可用於在用戶的計劃任務完成後發送電子郵件進行通知,可以執行多個排隊的任務,也可以從文件而非標準輸入讀取一系列任務來執行。比如,可以使用以下命令,在一月十四日上午11:45編譯一個C語言程序:

 $ echo "cc -o foo foo.c" | at 1145 jan 14

 $ at 1145 jan 14
 at> cc -o foo foo.c
 at> ^D #(光标在行首时使用Control-D退出任务编辑状态)

atq命令列出當前隊列里的任務,atrm命令則從隊列里刪除任務:

 $ atq
1234 2011-08-12 11:45 cc -o foo foo.c user
 $ atrm 1234 
 $ atq
 $

某些類Unix作業系統使用守護進程atd在後台定期檢查任務列表,以在計劃的時刻執行at命令的任務。

batch命令可代替at命令,在系統負載低於指定值的時候執行任務。

Windows NT/2000/XP/7也有一個類似cronat命令,但已逐漸被計劃任務代替。

參見

外部連結