標籤:bin crond 符號 處理 bsp roman nbsp rom editor
linux任務管理
在linux下有兩類任務管理,各自是一次性和周期性.一次性是at和batch,周期性又分為系統不論什麼和使用者任務.
一次性任務:
1.命令格式:at [選項] time
2.選項:
選項名 |
說明 |
-I(大寫的i) |
指定隊列 |
-f |
指定檔案 |
-l(小寫L) |
查看隊列 |
-d |
刪除隊列 |
3.time: teatime noon midnight teatime tomorrow now
4、運行方式:用at命令有互動式方式和批處理兩種方式。
互動式是使用者輸入at [option] time後等待使用者再游標處繼續輸入要啟動並執行命令,然後用ctrl+d提交任務。批處理就要用到-f了。是使用者先將要啟動並執行命令寫入檔案,再用-f指定該檔案。
5、運行結果:啟動並執行結果會以郵件的形似發送給使用者。
6、與batch差別:batch不能指定時間,而是選擇使用者系統的空暇時間來運行。
週期性任務:
運行原理:無論是系統任務還是使用者任務都是由守護進程crond讀取使用者定義檔案來啟動並執行。系統任務的檔案時/etc/crontab,使用者任務檔案是/var/spool/cron/username。
系統任務:
任務定義格式:每行定義一個任務。格式為***** user command
時間格式:* - . /是能夠用的符號。*代表該位全部可取值。-代表在這一區間連續取值。.代表這區間的離散取值,/#表示在某區間每隔#運行一次任務
使用者任務:
命令:使用crontab命令。能夠使用的參數有-e調用EDITOR中的編輯器來編輯,-u指定使用者,-l查看任務,-r刪除crontab檔案。
範例:
怎樣實現秒層級的任務:***** for i in {1...4};do /bin/echo "hello";sleep 1;done
不能整除怎麼解決:可用at運行。在檔案裡寫while true;do ls / sleep 10;done
除了crontab外,另一個命令是對crontab的補充,anacron。
它用於檢測crontab中是否有任務錯過了上次啟動並執行時間,若有則讓該任務在開機後的某個時間運行。
shell學習五十七天----linux任務管理,針對上一講的總結和擴充