14.1 crontab概述
任務調度:是指系統在某個時間執行的特定的命令或程序
任務調度分類:
- 系統工作:有些重要的工作必須周而復始地執行,如病毒掃描等
- 個別用戶工作:個別用戶可能希望執行某些程序
任務調度命令
設置任務調度文件:/etc/crontab
設置個人任務調度,執行crontab ‐e命令,接着輸入任務到調度文件
【案例】5 * * * * ls ‐l /etc/ > /tmp/to.txt,意思說每小時的第五分鐘執行ls命令
調度文件的規則
字段名稱 | 說明 | 範圍 |
分鐘 | 每小時中的第幾分鐘執行 | 0-59 |
小時 | 每天的第幾個小時執行 | 0-23 |
日期 | 每月的第幾天執行 | 1-31 |
月曆 | 每年的第幾個月執行 | 1-12 |
星期 | 每週的第幾天執行 | 0-6 |
使用任務調度
- 設置任務
- crontab ‐e
- 每隔一定時間去執行date> /home/mydate2
- 希望每天凌晨2:00去執行 date >>/home/mydate2,可以在crontab ‐e中加入:0 2 * * * date >> /home/mydate2
- 希望每分鐘去執行:在crontab‐e中加入:* * * * * date>> /home/mydate2
- 怎樣去調度多個任務
- 在crontab ‐e中直接寫多個命令(不推薦)
- 可以把所有的任務,寫入到一個可執行文件(shell編程)
- 終止任務調度
- crontab ‐r:終止任務調度
- crontab ‐l:列出當前有哪些任務調度
15.1進程的介紹和管理
- 在linux 中,每個執行的程序都稱爲一個進程,每一個進程都分配一個ID號
- 每一個進程,都會對應一個父進程,而這個父進程可以複製多個子進程,例如www服務器
- 每個進程都可能以兩種方式存在的,前臺與後臺。所謂前臺進程就是用戶目前的屏幕上可以進行操作的,後臺進程則是實際在操作,但由於屏幕上無法看到的進程,通常使用後臺方式執行
- 一般系統的服務都是以後臺進程的方式存在,而且都會常駐在系統中,直到關機才結束
- 進程與線程
- 進程:就是正在執行的程序
- 線程
- 輕量級的進程
- 進程有獨立的地址空間,線程沒有
- 線程不能獨立存在,它是由進程創建
- 相對講,線程耗費的CPU和內存要小於進程
進程的管理
ps命令是用來查看目前系統中,有哪些正在執行,以及它們執行的情況,可以不加任何參數,顯示詳細的進程信息
ps ‐a:顯示當前終端的所有進程信息
- ps ‐u:以用戶的格式顯示進程信息
- ps ‐x:顯示後臺進程運行的參數
ps顯示的信息選項:
字段 | 說明 |
PID | 進程識別號 |
TTY | 終端機號 |
TIME | 此進程所消CPU時間 |
CMD | 正在執行的命令或進程名 |
終止進程kill/killall
若是某個進程執行一半需要停止時,或是已消了很大的系統資源時,此時可以考慮停止該進程,使用kill命令來完成此項任務
終止某個進程:kill 進程號
【案例】kill 16251:終止進程號爲16251的進程
【案例】kill -9 16251:因爲有些進程會捕捉某些信號,如果直接不能結束進程可以用“-9”傳送信息
killall:殺死同名的所有進程
動態監控進程
top命令與ps命令很相似。它們都用來顯示正在執行的進程。top與ps最大的不同之處,在於top在執行一段時間可以更新正在運行的進程
- 監視特定用戶
- top:輸入此命令,按回車鍵,查看執行的進程
- u:然後輸入“u”回車,再輸入用戶名,即可
- 終止指定的用戶
- top:輸入此命令,按回車鍵,查看執行的進程
- k:然後輸入“k”回車,再輸入要結束的進程ID號
- 指定系統狀態更新的時間
- top ‐d 10:指定系統更新進程的時間爲10秒
top顯示選項解釋
- 1:52,表示系統啓動了多久
- 1 user,用戶數
- load average:0.00 0.00 0.00,當前系統負載情況,一般來說,參數越小,系統運行的越輕鬆,當平均數>0.6時,系統就很緊張了
- 38 processes,進程數
- 0 zombie,殭屍進程數,相當於這個進程沒有用了,還佔用資源,比如父進程來不及收回子進程
- CPU states:99.3% idle,閒置的CPU
- Mem,內存
- Swap,類似於虛擬內存
設置系統時間
- date命令:顯示系統的時間,可以在直接輸入“date”命令來查看系統的時間
- date+%y/%m/%d
- 2005/06/23
- date +%H:%M
- 17:25
- 利用date命令來更改系統的時間
- dateMMDDHHMMCCYY.SS:月月日日時時分分年年.秒秒
- 查看月曆
- cal 3 2002:查看2002年3月的月曆
- 查看年曆
- cal 2008:查看2008的年曆
計算器
- bc命令調出計算器
-
- scale=3爲輸出小數的位數,linux計算器,默認輸出的是爲整數.
- quit 退出計算器