linux系統任務
Ⅰ 什麼是linux系統上所有運行的任務
可以使用ps命令。它能顯示當前運行中進程的相關信息,包括進程的PID。Linux和UNIX都支持ps命令,顯示所有運行中進程的相關信息。ps命令能提供一份當前進程的快照。
Ⅱ linux 定時任務的方法有哪些
如果我們需要定時執行一些周期性重復性的任務,我們就會用到定時執行任務功能來幫我們自動執行每天、每周等周期性重復性的任務而不需要人為干預即可實現。
我們通過crontab –e來創建自己的定時任務,下圖中的5個*的含義是,第一個*是分,第二個*是小時,第三個*是日,第4個*是月,第5個*是周,第6列是命令,下圖的意思是給所有人發警告信息Hello,每隔一分鍾就發送一次Hello信息。
我們可以通過crontab –l來查看當前的已創建的定時任務,可以發現當前有一個定時任務,通過crontab –r刪除當前的定時任務,再次通過crontab –l去查看是否還有定時任務,發現已經成功刪除了。
進入/etc目錄,查看首字母為cron的目錄,cron*,*在這里是通配符,匹配任意個字元,通過查看/etc目錄下所有與定時任務相關的目錄和文件。
通過cat crontab查看定時任務的故事,包括shell的位置、路徑、默認郵件發給root賬戶、以及定時任務的格式,5個*的含義及第6列是寫具體的命令。
我們可以看看系統裡面的定時任務,有每小時執行的cron.hourly、每日執行的cron.daily、每月執行的cron.monthly、每周執行的cron.weekly.我們通過命令ll cron.daily可以看到裡面有很多可執行文件,這些都是系統每天自動執行的定時任務。我們可以把自己建立的定時文件放在系統已有的目錄下,比如每天的定時任務放在cron.daily下面。
系統常用的每天執行的定時任務,tmpwatch定時任務會去/tmp、/var/tmp臨時目錄下找超過10天的文件並刪除,logrotate日誌文件回滾,默認是一周回滾一次,1個月回滾4次,也就是日誌只保存1個月,logwatch把當天最敏感的日誌找出來形成一個電子郵件默認發給超級用戶。
Ⅲ linux定時任務
linux定時任務使用crontab命令
crontab命令說明
crontab命令被用來提交和管理用戶的需要周期性執行的任務,與windows下的計劃任務類似,當安裝完成操作系統後,默認會安裝此服務工具,並且會自動啟動crond進程,crond進程每分鍾會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
語法
crontab(選項)(參數)
選項
-e:編輯該用戶的計時器設置;
-l:列出該用戶的計時器設置;
-r:刪除該用戶的計時器設置;
-u<用戶名稱>:指定要設定計時器的用戶名稱。
參數
crontab文件:指定包含待執行任務的crontab文件。
知識擴展
Linux下的任務調度分為兩類:系統任務調度和用戶任務調度。
系統任務調度:系統周期性所要執行的工作,比如寫緩存數據到硬碟、日誌清理等。在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件。
/etc/crontab文件包括下面幾行:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""HOME=/
# run-parts
51 * * * * root run-parts /etc/cron.hourly
24 7 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
前四行是用來配置crond任務運行的環境變數,第一行SHELL變數指定了系統要使用哪個shell,這里是bash,第二行PATH變數指定了系統執行命令的路徑,第三行MAILTO變數指定了crond的任務執行信息將通過電子郵件發送給root用戶,如果MAILTO變數的值為空,則表示不發送任務執行信息給用戶,第四行的HOME變數指定了在執行命令或者腳本時使用的主目錄。
用戶任務調度:用戶定期要執行的工作,比如用戶數據備份、定時郵件提醒等。用戶可以使用 crontab 工具來定製自己的計劃任務。所有用戶定義的crontab文件都被保存在/var/spool/cron目錄中。其文件名與用戶名一致,使用者許可權文件如下:
/etc/cron.deny 該文件中所列用戶不允許使用crontab命令
/etc/cron.allow 該文件中所列用戶允許使用crontab命令
/var/spool/cron/ 所有用戶crontab文件存放的目錄,以用戶名命名
crontab文件的含義:用戶所建立的crontab文件中,每一行都代表一項任務,每行的每個欄位代表一項設置,它的格式共分為六個欄位,前五段是時間設定段,第六段是要執行的命令段,格式如下:
minute hour day month week command 順序:分 時 日 月 周
其中:
minute: 表示分鍾,可以是從0到59之間的任何整數。
hour:表示小時,可以是從0到23之間的任何整數。
day:表示日期,可以是從1到31之間的任何整數。
month:表示月份,可以是從1到12之間的任何整數。
week:表示星期幾,可以是從0到7之間的任何整數,這里的0或7代表星期日。
command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。
在以上各個欄位中,還可以使用以下特殊字元:
星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。
逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,「1,2,5,7,8,9」
中杠(-):可以用整數之間的中杠表示一個整數范圍,例如「2-6」表示「2,3,4,5,6」
正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鍾執行一次。
crond服務
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
查看crontab服務狀態:
service crond status
手動啟動crontab服務:
service crond start
查看crontab服務是否已設置為開機啟動,執行命令:
ntsysv
加入開機自動啟動:
chkconfig –level 35 crond on
Ⅳ linux的多任務是怎麼運行的
linux也是有不同類型的,比如個人桌面版的只支持單處理器,而企業級伺服器版的則支持多處理器。所以這個多任務在不同的版本上也是有不同的意思。在個人版上,也就是我們平常說的最多的多任務系統,其實是多個任務排隊使用cpu,因為cpu在同一時刻是只能被獨享的,這是絕對的。還有任務這個概念比較籠統,只是相對於我們的需要來說,並不是從操作系統的角度出發的,對我們來說一個任務可能由很多步驟構成,而這些步驟也是由或多或少的進程構成的,所以,一個任務就是由一個或者多個進程構成的處理序列。linux是一個多線程的操作系統,而我們知道,進程是計算機的最小資源分配單元,而線程則是最小的調度單元(這兩個概念請自行查找資料),也就是說,linux系統中真正使用cpu的是線程,當然了,也有不需要創建線程的進程。現在的操作系統大部分都是分時的,這個概念只要學過計算機基礎的人都知道,也就是對每個進程或者線程按照調度進程的演算法來調度他們使用cpu的先後順序和時間片長度。
對於單處理器的系統,每個cpu每次只允許有一個進程或線程使用,整個系統中也只有這一個進程或線程在運行,而對於多處理器系統(如果硬體安裝了多處理器的話),每個cpu每次也只允許有一個進程或線程使用,整個系統中允許有多個進程或線程同時運行,這種叫並行處理。請注意,這個我們在PC上同時開很多任務是不同的,這種是真正意義上的同時處理,是絕對的。
Ⅳ Linux系統下如何設置計劃任務
執行cron任務:具體如下
比如當前為root用戶#crontab
-e進入後文件格式如下分
時
日
月
周
執行命令比如
0
24
*
*
*
init
0*代表每
比如
每月
這行的意思是
每月的每天的24點
執行init
0
關機任務文件寫完後:wq保存#crontab
-l
查看任務列表
Ⅵ linux系統 程序運行時任務欄還在
1、在系統中,程序默認是要有窗口顯示的。
2、而且運行中的任務一般還要在任務欄上有所反應,這樣便於切換操作。
3、點擊任務欄、點擊隱藏。
4、linux系統程序運行時任務欄就隱藏了。
Ⅶ 什麼是linux操作系統定時任務系統
這個和windows的計劃任務類似,也是定時運行指定的命令或程序.
at、cron,前者是一次性的,後者是按照設計不斷的在某時刻運行計定的任務
守護進程就是atd
Ⅷ 如何設置linux 的計劃任務
cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業。由於Cron 是Linux的內置服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
你也可以將這個服務在系統啟動的時候自動啟動:
在/etc/rc.d/rc.local這個腳本的末尾加上:
/sbin/service crond start
現在Cron這個服務已經在進程裡面了,我們就可以用這個服務了,Cron服務提供以下幾種介面供大家使用:
1.直接用crontab命令編輯
cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些參數與說明:
crontab -u //設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
crontab -l //列出某個用戶cron服務的詳細內容
crontab -r //刪除沒個用戶的cron服務
crontab -e //編輯某個用戶的cron服務
比如說root查看自己的cron設置:crontab -u root -l
再例如,root想刪除fred的cron設置:crontab -u fred -r
在編輯cron服務時,編輯的內容有一些格式和約定,輸入:crontab -u root -e
進入vi編輯模式,編輯的內容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
任務調度的crond常駐命令
crond 是linux用來定期執行程序的命令。當安裝完成操作系統之後,默認便會啟動此任務調度命令。crond命令每分鍾會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
1、linux任務調度的工作主要分為以下兩類:
*系統執行的工作:系統周期性所要執行的工作,如備份系統數據、清理緩存
*個人執行的工作:某個用戶定期要做的工作,例如每隔10分鍾檢查郵件伺服器是否有新信,這些工作可由每個用戶自行設置。
2.crontab命令選項:
-u指定一個用戶,
-l列出某個用戶的任務計劃,
-r刪除某個用戶的任務,
-e編輯某個用戶的任務
3.cron文件語法:
分 小時 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范圍,0表示周日一般一行對應一個任務)
4.記住幾個特殊符號的含義:
"*"代表取值范圍內的數字,
"/"代表"每",
"-"代表從某個數字到某個數字,
","分開幾個離散的數字
一、任務調度設置文件的寫法
可用crontab -e命令來編輯,編輯的是/var/spool/cron下對應用戶的cron文件,也可以直接修改/etc/crontab文件
具體格式如下:
Minute Hour Day Month Dayofweek command
分鍾 小時 天 月 天每星期 命令
每個欄位代表的含義如下:
Minute 每個小時的第幾分鍾執行該任務
Hour 每天的第幾個小時執行該任務
Day 每月的第幾天執行該任務
Month 每年的第幾個月執行該任務
DayOfWeek 每周的第幾天執行該任務
Command 指定要執行的程序
在這些欄位里,除了「Command」是每次都必須指定的欄位以外,其它欄位皆為可選欄位,可視需要決定。對於不指定的欄位,要用「*」來填補其位置。
舉例如下:
5 * * * * ls 指定每小時的第5分鍾執行一次ls命令
30 5 * * * ls 指定每天的 5:30 執行ls命令
30 7 8 * * ls 指定每月8號的7:30分執行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30執行ls命令
30 6 * * 0 ls 指定每星期日的6:30執行ls命令[註:0表示星期天,1表示星期1,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10號及20號的3:30執行ls命令[註:「,」用來連接多個不連續的時段]
25 8-11 * * * ls 每天8-11點的第25分鍾執行ls命令[註:「-」用來連接連續的時段]
*/15 * * * * ls 每15分鍾執行一次ls命令 [即每個小時的第0 15 30 45 60分鍾執行ls命令 ]
30 6 */10 * * ls 每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日是的6:30執行一次ls命令。 ]
每天7:50以root 身份執行/etc/cron.daily目錄中的所有可執行文件
50 7 * * * root run-parts /etc/cron.daily [ 註:run-parts參數表示,執行後面目錄中的所有可執行文件。 ]
二、新增調度任務
新增調度任務可用兩種方法:
1、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
三、查看調度任務
crontab -l //列出當前的所有調度任務
crontab -l -u jp //列出用戶jp的所有調度任務
四、刪除任務調度工作
crontab -r //刪除所有任務調度工作
五、任務調度執行結果的轉向
例1:每天5:30執行ls命令,並把結果輸出到/jp/test文件中
30 5 * * * ls >/jp/test 2>&1
註:2>&1 表示執行結果及錯誤信息。
編輯/etc/crontab 文件配置cron
cron服務每分鍾不僅要讀一次/var/spool/cron內的所有文件,還需要讀一次/etc/crontab,因此我們配置這個文件也能運用cron服務做一些事情。用crontab配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務。此文件的文件格式是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出現錯誤,或者有數據輸出,數據作為郵件發給這個帳號
HOME=/ //使用者運行的路徑,這里是根目錄
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小時執行/etc/cron.hourly內的腳本
02 4 * * * root run-parts /etc/cron.daily //每天執行/etc/cron.daily內的腳本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期執行/etc/cron.weekly內的腳本
42 4 1 * * root run-parts /etc/cron.monthly //每月去執行/etc/cron.monthly內的腳本
大家注意"run-parts"這個參數了,如果去掉這個參數的話,後面就可以寫要運行的某個腳本名,而不是文件夾名了
例如: 1、在命令行輸入: crontab -e 然後添加相應的任務,wq存檔退出。
2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務
11 2 21 10 * rm -rf /mnt/fb