linux系統中的排程延遲任務:at 命令
linux系統中的排程延遲任務:at 命令
主要概念
at命令可以使命令稍後執行
batch命令可以讓命令在機器負載較低的情況下執行
可以直接進入命令,或者以指令碼形式提交命令
作業中的標準輸出用郵件傳送給使用者
atq命令和atrm命令用來檢視和刪除當前的計劃任務
linux的守護程式是那些在後臺執行的程式,脫離控制終端,執行通常成鍵盤輸入無關的任務.守護程式經常與
網路服務相關聯,例如網頁伺服器(httpd)或ftp伺服器(vsftpd).其他守護程式處理系統任務,例如日誌守護程式(
syslogd)和電源管理守護程式(apmd).這個主要解釋說明兩個守護程式:一個允許使用者延遲任務(atd);另一個允許
使用者在固定間隔時間執行命令(crond).
守護程式像其他任何程式一樣,通常作為系統啟動序列的一部分被啟動,或者由根使用者啟動.因此,除非你特意尋找
它們,否則可能一直不知道它們的存在.
[root@sidatabase /]# ps aux | grep crond
root 3204 0.0 0.0 117204 1368 ? Ss Aug09 0:11 crond
root 21399 0.0 0.0 103244 868 pts/0 S+ 14:07 0:00 grep crond
[root@sidatabase /]# ps aux | grep atd
rpcuser 2800 0.0 0.0 23340 1204 ? Ss Aug09 0:00 rpc.statd
root 3215 0.0 0.0 21448 464 ? Ss Aug09 0:00 /usr/sbin/atd
root 21405 0.0 0.0 103244 872 pts/0 S+ 14:07 0:00 grep atd
有些守護程式作為根使用者執行,而有些守護程式為了安全起見,則以一個系統使用者的身份執行.在上面,crond守護程式
作為根使用者執行,而ntpd守護程式則作為系統使用者執行,如下所示.
[root@sidatabase /]# ps aux | grep ntpd
root 26538 0.0 0.0 103240 868 ? 14:22 0:00 ntpd -u ntp:ntp -p
atd守護程式
atd守護程式允許使用者提交稍後執行的作業,如"at 14:13 ".atd守護程式必須在執行時才能使用,使用者可以透過檢視
執行的程式列表來確定atd是否在執行.
root@sidatabase /]# ps aux | grep atd
rpcuser 2800 0.0 0.0 23340 1204 ? Ss Aug09 0:00 rpc.statd
root 3215 0.0 0.0 21448 548 ? Ss Aug09 0:00 /usr/sbin/atd
root 28604 0.0 0.0 103244 872 pts/0 S+ 14:24 0:00 grep atd
在上面的輸出中第七列指出了與程式相關聯的終端.對使用者root的grep命令而言,終端是pts/2,這可甬指的網路shell
或X會話中的圖形終端.注意,atd守護程式沒有相關聯的終端.守護程式的一個定義特徵是,它結束與啟動它的終端之
間的聯絡.
用at命令提交作業
at命令用來向atd守護程式提交需要在特定時間執行的作業.要執行的命令可以作為指令碼提交(用-f命令列選項),也可以
透過標準輸入直接輸入.命令的標準輸出將用電子郵件的形式寄給使用者
at [[-f filename] | [-m]] time
規定一天中的時間可以用HH:MM格式,後面附加"am"或"pm",也可以用"midnight","noon"和"teatime"待詞語.日期也可以
用好幾種格式規定,其中mm/dd/yy
例如要在14:13這個時間生成一個名叫at.txt的檔案並在檔案中寫入"hello I am JingYong"資訊
[root@sidatabase /]# echo "hello I am JingYong " > at.txt | at 14:13
job 1 at 2013-08-23 14:13
檢視作業
[root@sidatabase /]# atq
1 2013-08-23 14:13 a root
刪除作業
[root@sidatabase /]# atrm 1
用batch延遲任務
batch命令與at命令一樣,用來延遲任務.與at命令不同的是,batch命令不在特定時間執行,而是等到系統不忙於別的
任務時執行.如果提交作業時機器不繁忙,可以立即執行作業.batch守護程式會監控系統的平均負載(load average)
等待它降到0.8以下,然後開始執行作業任務.
batch命令的語法與at命令的語法一模一樣,可以用標準輸入規定作業,也可以用-f命令列選項把作業作為batch檔案
來提交.如果規定了時間,batch會延遲到指定的時間開始觀察機器,那時,atd將開始監控系統的平均負載,並且在系統
不繁忙時執行作業.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-769149/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux系統中的排程週期任務:cronLinux
- 詳解BI系統中的任務排程
- Linux系統中延時任務及定時任務Linux
- linux 任務排程Linux
- Hadoop - 任務排程系統比較Hadoop
- 『學了就忘』Linux系統定時任務 — 89、任務排程工具anacronLinux
- Linux 中 Laravel 任務排程不執行LinuxLaravel
- Linux 定時任務排程Linux
- android中延遲執行某個任務Android
- 任務排程
- 【c#】分享一個簡易的基於時間輪排程的延遲任務實現C#
- 系統架構設計之-任務排程系統的設計架構
- 基於rabbitmq延遲外掛實現分散式延遲任務MQ分散式
- 分散式任務排程系統設計小結分散式
- Android 中的定時任務排程Android
- OpenMP 中的執行緒任務排程執行緒
- Laravel 任務排程Laravel
- Airflow 任務排程AI
- 基於Hyperf開發的任務排程系統.支援任務投遞,DAG任務編排(多個任務使用同一個事務).
- 聊聊PowerJob的任務排程
- OPPO大資料離線任務排程系統OFLOW大資料
- Spark中資源排程和任務排程Spark
- 分散式任務排程分散式
- Nucleus PLUS任務排程
- 在 JS 中如何排程後臺任務?JS
- 開源公開課丨大資料排程系統 Taier 任務排程介紹大資料AI
- DAG任務排程系統 Taier 演進之道,探究DataSourceX 模組AI
- 開源分散式任務排程系統就選:DolphinScheduler分散式
- 【Python】輕量級分散式任務排程系統-RQPython分散式
- Laravel 服務之任務排程Laravel
- 分散式系統架構之構建你的任務排程中心分散式架構
- 分散式排程任務-ElasticJob分散式AST
- Spring 指南(排程任務)Spring
- 【Spark篇】---Spark資源排程和任務排程Spark
- linux 系統IO 排程Linux
- 直播短影片原始碼,延遲任務的解決方法原始碼
- linux基礎(四)——任務排程cron和anacronLinux
- 一文詳解 Linux Crontab 排程任務Linux