連結:https://www.cnblogs.com/yanlzy/p/11916911.html
行程的延遲與周期排程
行程的概念
行程:開始執行但是還沒有結束的程式的例項
程式:包含可執行程式碼的檔
行程由程式產生,是一個執行著的、要占系統資源的程式,行程不等於程式。
行程分為:互動行程、批次處理行程、守護行程。
行程的檢視
命令語法:ps [選項]
選項說明:
-A:顯示系統中所有行程的資訊,與-e 具有相同的功能。
-a:顯示所有使用者行程的資訊。
-f:完整的顯示行程的所有資訊。
-l:以長格式顯示行程資訊。
-r:只顯示正在執行的行程。
-u:顯示面向使用者的格式(包括使用者名稱、CPU 及記憶體使用情況等資訊)。
-x:顯示所有非控制終端上的行程資訊。
-p:顯示由行程 ID 指定的行程的資訊。
-t:顯示指定終端上的行程的資訊。
檢視各行程繼承關系的命令
pstree 命令以樹狀結構顯示系統行程的繼承關系。樹狀圖將會以 pid (如果有指定) 或是以 init 為根,如果指定 user,則樹狀結構只顯示該使用者所擁有的行程。
命令格式:pstree [選項] [pid|user]
選項說明:
-a:顯示該行程的完整繼承關系,如果是被記憶體置換出去的行程則會加上括弧。
-c 如果有重復的行程名, 則分開列出 (預設值是會在前面加上 * )。
pid|user:檢視指定根行程(pid)或使用者(user)所擁有的行程。
行程的終止
kill [訊號程式碼] pid
Killall [訊號程式碼] 行程名
透過
ps -aux 顯示行程
pstree檢視子行程
行程的排程
延遲性偵錯
功能:指定時間執行指定的程式
格式:at [-f 檔] [-m ] 時間
-f : 指定存放計劃執行命令的檔
-m: 作業結束後發送信件給執行 at 命令的使用者
時間:任務執行的時間,可采用相對和絕對兩種方法
絕對表示法:MMDDYY 或 MM/DD/YYYY, today 或 tomorrow 來表示今天或明天
相對表示法:now+num+時間單位,其中的時間間隔可以是 minutes, hours, days, weeks
at now+1 minutes 明天執行
at> echo "hell" > /dev/pts/2 回車
ctrl+d 結束
at -f 指定檔 17:30+2 days
周期性排程
功能:計劃排程服務
crontab –u user {-e | -l | -r}
-u:為指定的使用者設定計劃任務
-e:編輯計劃任務列表
-l:檢視指定使用者的計劃任務列表,預設為當前使用者
-r:刪除使用者的計劃任務列表
crontab –u user file (其中 file 代表任務列表檔)
任務列表檔的格式:minute hour day month day-of-the-week run_command
crontab -u 使用者名稱 -e 編輯/建立任務列表
00 00 */3 * * 命令路徑 [參數]
crontab -l 檢視
crontab -u 使用者 -r 刪除任務 命令得是絕對路徑
00 00 */3 * * 命令路徑
分鐘 小時 日期 月份 星期 命令
時間數值表示
* 表示該範圍內的任意時間
, 表示間隔的多個不連續時間點
- 表示一個連續的時間範圍
/ 指定時間間隔的時間頻率
套用範例
周一到周五每天17:00
0 17 * * 1-5
每周一、三、五的八點30分
30 8 * * 1,3,5
8點到18點之間每隔2小時
0 8-18/2 * * *
每隔3三天
0 * */3 * *
計劃目錄列表存放位置
/var/spool/scron/root
<END>
點這裏👇關註我,記得標星呀~
感謝你的分享,點贊,在看三連