行程的延遲與周期調度
行程的概念
行程:開始執行但是還沒有結束的程式的實體
程式:包含可執行代碼的檔案
行程由程式產生,是一個運行著的、要占系統資源的程式,行程不等于程式,
行程分為:互動行程、批處理行程、守護行程,
行程與程式是多對一關系
行程的查看
命令語法: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
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/153754.html
標籤:Linux
