Linux--进程与任务管理
文章目錄
- 前言
- 一、查看進(jìn)程
- 1、查看進(jìn)程信息——ps
- ①方法一——ps -aux
- ②方法一——ps -elf
- 2、查看進(jìn)程信息——top
- ①系統(tǒng)任務(wù)(第一行)和進(jìn)程(第二行)的信息
- ②CPU(第三行)、內(nèi)存(第四行)的信息和交換空間(第五行)的相關(guān)信息
- ③ 進(jìn)程信息區(qū)各列詳解
- ④ top常用命令
- 3、查看進(jìn)程信息——pgrep
- 4、查看進(jìn)程樹(shù)——pstree
- 二、控制進(jìn)程
- 1、進(jìn)程的啟動(dòng)方式
- ①手工啟動(dòng)
- ②調(diào)動(dòng)啟用
- 2、進(jìn)程的前后臺(tái)調(diào)度
- ①掛起當(dāng)前進(jìn)程
- ②查看后臺(tái)的進(jìn)程
- ③將后臺(tái)的進(jìn)程恢復(fù)運(yùn)行
- 3、終止進(jìn)程執(zhí)行
- ①kill
- ②killall
- ③pkill
- 三、一次性計(jì)劃任務(wù)—at
- 四、周期性任務(wù)設(shè)置—crontab
- 1、配置文件和目錄
- ①系統(tǒng)任務(wù)配置文件,位于文件:/etc/crontab
- ②系統(tǒng)默認(rèn)的設(shè)置,位于目錄:/etc/cron.*/
- ③用戶(hù)定義的設(shè)置,位于文件:/var/spool/cron/
- 2、管理crontab計(jì)劃任務(wù)
- 3、crontab 任務(wù)配置的格式
- 4、時(shí)間數(shù)值的特殊表示方法
- ①特殊表示方式及示例
- ②查看用戶(hù)的計(jì)劃任務(wù)表
- ③刪除用戶(hù)的計(jì)劃任務(wù)表
- 總結(jié)
前言
Linux進(jìn)程管理是一項(xiàng)十分重要的工作,可以幫助我們更好的控制系統(tǒng)。進(jìn)程是程序在計(jì)算機(jī)上的一次執(zhí)行活動(dòng)。當(dāng)你運(yùn)行一個(gè)程序,你就啟動(dòng)了一個(gè)進(jìn)程。本文介紹了常用進(jìn)程操作命令以及管理
一、查看進(jìn)程
-
程序:
-
保存在硬盤(pán)、光盤(pán)等介質(zhì)中的可執(zhí)行代碼和數(shù)據(jù)
-
靜態(tài)保存的代碼
-
-
進(jìn)程:
- 在CPU及內(nèi)存中運(yùn)行的程序代碼
- 動(dòng)態(tài)執(zhí)行的代碼
- 父、子進(jìn)程
- 每個(gè)程序可以創(chuàng)建一個(gè)或多個(gè)進(jìn)程
線(xiàn)程和進(jìn)程的區(qū)別:
做個(gè)簡(jiǎn)單的比喻:進(jìn)程=火車(chē),線(xiàn)程=車(chē)廂
線(xiàn)程在進(jìn)程下行進(jìn)(單純的車(chē)廂無(wú)法運(yùn)行),一個(gè)進(jìn)程可以包含多個(gè)線(xiàn)程(一輛火車(chē)可以有多個(gè)車(chē)廂),多個(gè)線(xiàn)程可共享數(shù)據(jù)(車(chē)廂是互通的)
1、查看進(jìn)程信息——ps
①方法一——ps -aux
- 查看靜態(tài)的進(jìn)程統(tǒng)計(jì)信息:ps -aux
一般結(jié)合管道符號(hào)來(lái)用:ps -aux | grep httpd | wc -l
- a:顯示當(dāng)前終端下的所有進(jìn)程信息,包括其他用戶(hù)的進(jìn)程,與“x”選項(xiàng)結(jié)合使用時(shí)將顯示系統(tǒng)中所有的進(jìn)程信息
- u:使用以用戶(hù)為主的格式輸出進(jìn)程信息
- x:顯示當(dāng)前用戶(hù)在所有終端下的進(jìn)程信息
- 將以簡(jiǎn)單列表的形式顯示出進(jìn)程信息
| USER | 進(jìn)程的用戶(hù) |
| PID | 進(jìn)程的ID |
| %CPU | 進(jìn)程占用的CPU百分比 |
| %MEN | 占用內(nèi)存的百分比 |
| VSZ | 該進(jìn)程使用的虛擬內(nèi)存量(KB) |
| RSS | 該進(jìn)程使用的物理內(nèi)存量(KB) |
| TTY | 啟動(dòng)該進(jìn)程的終端名;若不是從終端啟動(dòng)的進(jìn)程則顯示為“?” |
| STAT | 該進(jìn)程的狀態(tài)(D:不可中斷的休眠狀態(tài):R:正在運(yùn)行狀態(tài);S:處于休眠狀態(tài),可被喚醒;T:停止?fàn)顟B(tài),可能是在后臺(tái)暫停或進(jìn)程處于跟蹤調(diào)試狀態(tài): Z:僵尸進(jìn)程,進(jìn)程已經(jīng)中止,但是部分程序還在內(nèi)存當(dāng)中) |
| START | 該進(jìn)程被觸發(fā)啟動(dòng)時(shí)間 |
| TIME | 該進(jìn)程實(shí)際使用CPU運(yùn)行的時(shí)間 |
| COMMAND | 進(jìn)程的啟動(dòng)命令 |
名詞解釋(僵尸進(jìn)程):
已經(jīng)結(jié)束了一個(gè)進(jìn)程,但是它任然還占用著內(nèi)存,也稱(chēng)之為僵死
父進(jìn)程退出,子進(jìn)程沒(méi)有退出,那這些子進(jìn)程就沒(méi)有父進(jìn)程去管理它們,所以就成了僵尸進(jìn)程
狀態(tài)后綴表示:
-D:不可被喚醒的睡眠狀態(tài),通常用于 I/O 情況。
-R:該進(jìn)程正在運(yùn)行。
-S:該進(jìn)程處于睡眠狀態(tài),可被喚醒。
-T:停止?fàn)顟B(tài),可能是在后臺(tái)暫停或進(jìn)程處于除錯(cuò)狀態(tài)。
-W:內(nèi)存交互狀態(tài)(從 2.6 內(nèi)核開(kāi)始無(wú)效)。
-X:死掉的進(jìn)程(應(yīng)該不會(huì)出現(xiàn))。
-Z:僵尸進(jìn)程。進(jìn)程已經(jīng)中止,但是部分程序還在內(nèi)存當(dāng)中。
-<:高優(yōu)先級(jí)(以下?tīng)顟B(tài)在 BSD 格式中出現(xiàn))。
-N:低優(yōu)先級(jí)。
-L:被鎖入內(nèi)存。
-s:包含子進(jìn)程。
-l:多線(xiàn)程(小寫(xiě) L)。
-+:位于后臺(tái)。
-C:進(jìn)程占用CPU的百分比
- 示例1:查看進(jìn)程狀態(tài)
ctrl+c :發(fā)送 SIGINT 信號(hào),終止一個(gè)進(jìn)程
ctrl+z :發(fā)送 SIGSTOP 信號(hào),掛起一個(gè)進(jìn)程。將作業(yè)放置到后臺(tái)(暫停)
ctrl+d :不是發(fā)送信號(hào),而是表示一個(gè)特殊的二進(jìn)制值,表示 EOF。代表輸入完成或者注銷(xiāo)
- 示例2:不可中斷狀態(tài)
②方法一——ps -elf
- e:顯示系統(tǒng)內(nèi)的所有進(jìn)程信息
- l:使用長(zhǎng)格式顯示進(jìn)程信息
- f:使用完整的格式顯示進(jìn)程信息
- 將以長(zhǎng)格式顯示系統(tǒng)中的進(jìn)程信息,并且包含更豐富的內(nèi)容
| F | 內(nèi)核分配給進(jìn)程的系統(tǒng)標(biāo)記 |
| S | 進(jìn)程的狀態(tài) |
| UID | 啟動(dòng)這些進(jìn)程的用戶(hù) |
| PID | 進(jìn)程的進(jìn)程ID |
| PPID | 父進(jìn)程的進(jìn)程號(hào)(如果該進(jìn)程是由另一個(gè)進(jìn)程啟動(dòng)的) |
| C | 進(jìn)程生命周期中的CPU利用率 |
| PRI | 進(jìn)程的優(yōu)先級(jí)(越大的數(shù)字代表越低的優(yōu)先級(jí)) |
| NI | 謙讓度值用來(lái)參與決定優(yōu)先級(jí) |
| ADDR | 進(jìn)程的內(nèi)存地址 |
| SZ | 假如進(jìn)程被換出,所需交換空間的大致大小 |
| WCHAN | 若該進(jìn)程在睡眠,則顯示睡眠中的系統(tǒng)函數(shù)名 |
| STIME | 進(jìn)程啟動(dòng)時(shí)的系統(tǒng)時(shí)間 |
| TTY | 進(jìn)程啟動(dòng)時(shí)的終端設(shè)備 |
| TIME | 運(yùn)行進(jìn)程需要的累計(jì)CPU時(shí)間 |
| CMD | 進(jìn)程的啟動(dòng)命令 |
在CentOs7系統(tǒng),tty1表示圖形界面,tty2-tty6表示文字界面,可以用Ctrl+Alt+(F1-F6)切換
2、查看進(jìn)程信息——top
- 使用ps命令查看到的是一個(gè)靜態(tài)的進(jìn)程信息,并不能連續(xù)地反饋當(dāng)前進(jìn)程的運(yùn)行狀態(tài)
- 若希望以動(dòng)態(tài)刷新的方式顯示各進(jìn)程的狀態(tài)信息則使用top
- 默認(rèn)情況下每三秒刷新一次,按 s 修改刷新時(shí)間,按空格 :立即刷新
①系統(tǒng)任務(wù)(第一行)和進(jìn)程(第二行)的信息
| 18:55:08 | 系統(tǒng)時(shí)間 | Tasks | 總進(jìn)程數(shù) |
| up 2:07 | 系統(tǒng)已運(yùn)行時(shí)間 | running | 正在運(yùn)行的進(jìn)程數(shù) |
| 1 user | 當(dāng)前登錄用戶(hù)數(shù) | sleeping | 休眠的進(jìn)程數(shù) |
| load average:0.00,0.01,0.05 | 系統(tǒng)負(fù)載,即單位時(shí)間內(nèi)系統(tǒng)處理的任務(wù)數(shù),后面三個(gè)數(shù)值分別為1分鐘、5分鐘、15分鐘到現(xiàn)在的平均值 | stopped | 中止的進(jìn)程數(shù) |
| / | / | zombie | 僵死的進(jìn)程數(shù) |
②CPU(第三行)、內(nèi)存(第四行)的信息和交換空間(第五行)的相關(guān)信息
| us | 用戶(hù)占用 | total | 總內(nèi)存空間 | total | 總交換空間 |
| sy | 內(nèi)核占用 | free | 空閑內(nèi)存 | free | 空閑交換空間 |
| ni | 優(yōu)先級(jí)調(diào)度占用 | used | 已用內(nèi)存 | used | 已用交換空間 |
| id | 空閑CPU,要了解空閑的CPU百分比,主要看%id部分 | buff/cahe | 物理內(nèi)存和交換內(nèi)存的緩沖區(qū)總和 | avail Mem | 可用物理空間 |
| wa | I/O等待占用 | / | / | / | / |
| hi | 硬件中斷占用 | / | / | / | / |
| si | 軟件中斷占用 | / | / | / | / |
| st | 虛擬化占用 | / | / | / | / |
③ 進(jìn)程信息區(qū)各列詳解
| PID | 進(jìn)程id |
| USER | 進(jìn)程所有者的用戶(hù)名 |
| PR | 優(yōu)先級(jí) |
| NI | 謙讓度值,負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí) |
| VIRT | 進(jìn)程使用的虛擬內(nèi)存總量,單位kb |
| RES | 進(jìn)程使用的物理內(nèi)存大小,單位kb |
| SHR | 共享內(nèi)存大小,單位kb |
| S | 進(jìn)程狀態(tài) |
| %CPU | 上次更新到現(xiàn)在的CPU時(shí)間占用百分比 |
| %MEM | 進(jìn)程使用的物理內(nèi)存百分比 |
| TIME+ | 進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒 |
| COMMAND | 命令名/命令行 |
④ top常用命令
| P | 根據(jù)CPU使用百分比大小進(jìn)行排序 |
| M | 據(jù)駐留內(nèi)存大小進(jìn)行排序 |
| N | 根據(jù)啟動(dòng)時(shí)間進(jìn)行排序 |
| c | 切換顯示命令名稱(chēng)和完整命令行 |
| h | 可以獲得 top程序的在線(xiàn)幫助信息 |
| k | 根據(jù)提示輸入指定進(jìn)程的 PID 號(hào)并按 Enter 鍵終止對(duì)應(yīng)的進(jìn)程 |
| q | 退出 top 程序 |
| (數(shù)字)1 | 顯示CPU個(gè)數(shù)和狀態(tài) |
若通過(guò) top 排名工具發(fā)現(xiàn)某個(gè)進(jìn)程 CPU 占用率非常高,需要終止該進(jìn)程的運(yùn)行,可以在 top 操作界面中按 k 鍵,然后在列表上方將會(huì)出現(xiàn)“PID to signal/kill [default pid = 3180]:” 的提示信息,根據(jù)提示輸入指定進(jìn)程的 PID 號(hào)并按 Enter 鍵, 出現(xiàn)“Send pid 5597 signal [15/sigterm]”的二次確認(rèn)的提示信息,然后按Enter 鍵確認(rèn)即可終止對(duì)應(yīng)的進(jìn)程
3、查看進(jìn)程信息——pgrep
| -U | 選項(xiàng)查詢(xún)特定用戶(hù)的進(jìn)程 |
| -t | 選項(xiàng)查詢(xún)?cè)谔囟ńK端運(yùn)行的進(jìn)程 |
- 示例1:查詢(xún)進(jìn)程中包含‘log’的進(jìn)程及PID號(hào)(若沒(méi)有“-l”則只輸出PID號(hào))
- 示例2:查詢(xún)由用戶(hù) teacher 在 tty1 終端上運(yùn)行的進(jìn)程及PID號(hào)
4、查看進(jìn)程樹(shù)——pstree
- pstree命令可以輸出Linux系統(tǒng)中各進(jìn)程的樹(shù)形結(jié)構(gòu),更加直觀(guān)地判斷出各進(jìn)程之間的相互關(guān)系(如父、子進(jìn)程)
| -u | 選項(xiàng)可以列出對(duì)應(yīng)的用戶(hù)名 |
| -a | 選項(xiàng)可以列出完整的命令信息 |
- 示例1:
二、控制進(jìn)程
1、進(jìn)程的啟動(dòng)方式
- 在Linux系統(tǒng)中,可以由用戶(hù)手工啟動(dòng)或者按預(yù)定計(jì)劃調(diào)度啟動(dòng)新的進(jìn)程
①手工啟動(dòng)
-
根據(jù)該進(jìn)程是否需要占用當(dāng)前命令終端,手工啟動(dòng)分為以下兩類(lèi)
- 前臺(tái)啟動(dòng):用戶(hù)輸入命令,直接執(zhí)行程序,但得等到該進(jìn)程結(jié)束并退出才能繼續(xù)執(zhí)行其他命令
- 后臺(tái)啟動(dòng):在命令行尾加入“&”符號(hào);無(wú)需等待,適用于等待時(shí)間較長(zhǎng)的操作
-
示例:
②調(diào)動(dòng)啟用
- 在服務(wù)器維護(hù)工作中,經(jīng)常需要執(zhí)行一些比較費(fèi)時(shí)而且較占用資源的任務(wù)(如數(shù)據(jù)備份),這些任務(wù)更適合在相對(duì)空閑的時(shí)候(如半夜)進(jìn)行,但這樣需要用戶(hù)進(jìn)行事前調(diào)度安排并指定任務(wù)運(yùn)行的時(shí)間
- 調(diào)度啟動(dòng)的計(jì)劃任務(wù)進(jìn)程均在后臺(tái)進(jìn)行,不占用用戶(hù)的命令終端
- 使用”at“命令時(shí),設(shè)置一次性計(jì)劃任務(wù),使用”crontab"命令,設(shè)置周期性計(jì)劃任務(wù)
2、進(jìn)程的前后臺(tái)調(diào)度
①掛起當(dāng)前進(jìn)程
當(dāng)Linux操作系統(tǒng)中的命令正在前臺(tái)執(zhí)行時(shí)(運(yùn)行尚未結(jié)束),按Ctrl+Z組合鍵可以將當(dāng)前進(jìn)程掛起(調(diào)入后臺(tái)并停止執(zhí)行),這種操作在需要暫停當(dāng)前進(jìn)程并進(jìn)行其他操作時(shí)特別有用。例如,打包usr并且調(diào)入后臺(tái) ,可以按 Ctrl+Z 組合鍵將該下載任務(wù)調(diào)入后臺(tái)并暫停執(zhí)行—tar zcvf usr.tar.gz /usr
②查看后臺(tái)的進(jìn)程
- jobs—查看當(dāng)前終端中在后臺(tái)運(yùn)行的進(jìn)程任務(wù),結(jié)合“-l”選項(xiàng)可以同時(shí)顯示該進(jìn)程的PID號(hào)
③將后臺(tái)的進(jìn)程恢復(fù)運(yùn)行
- bg; 將后臺(tái)暫停執(zhí)行的任務(wù)恢復(fù)運(yùn)行并繼續(xù)在后臺(tái)執(zhí)行
- fg:將后臺(tái)暫停執(zhí)行的任務(wù)恢復(fù)運(yùn)行并恢復(fù)至前臺(tái)運(yùn)行
- 除非后臺(tái)中的任務(wù)只有一個(gè),否則bg和fg命令都需要指定后臺(tái)進(jìn)程的任務(wù)編號(hào)作為參數(shù)
- 例如:“fg 1(任務(wù)編號(hào))”
3、終止進(jìn)程執(zhí)行
- 當(dāng)用戶(hù)在前臺(tái)執(zhí)行某個(gè)進(jìn)程時(shí),可以用Ctrl+C組合鍵強(qiáng)制中斷當(dāng)前正在執(zhí)行的命令
- 當(dāng)按 Ctrl+C 組合鍵無(wú)法終止程序或者需要結(jié)束在其他終端或后臺(tái)運(yùn)行的進(jìn)程時(shí), 可以使用專(zhuān)用的進(jìn)程終止工具 kill、killall 和 pkill
①kill
- kill用于終止指定PID號(hào)的進(jìn)程,需要使用進(jìn)程的PID號(hào)作為參數(shù)
- 若該進(jìn)程不響應(yīng)終止信號(hào),則結(jié)合“-9”選項(xiàng)可以強(qiáng)制終止
②killall
-
使用 killall 命令可以通過(guò)進(jìn)程名稱(chēng)來(lái)終止進(jìn)程,當(dāng)需要結(jié)束系統(tǒng)中多個(gè)相同名稱(chēng)的進(jìn)程時(shí),使用 killall 命令將更加方便,效率更高。killall 命令同樣也有“-9”選項(xiàng)。
-
例如,執(zhí)行如下的“killall -9 vim”命令可將所有名為 vim 的進(jìn)程都強(qiáng)行終止
——通過(guò)進(jìn)程名終止多個(gè)進(jìn)程
③pkill
- 根據(jù)進(jìn)程的名稱(chēng)、運(yùn)行該進(jìn)程的用戶(hù)、進(jìn)程所在的終端等多種屬性終止特定的進(jìn)程
- 與“pgrep”命令選項(xiàng)類(lèi)似,如“-U(指定用戶(hù)名)”、“-t(指定終端)”
三、一次性計(jì)劃任務(wù)—at
-
在 Linux 操作系統(tǒng)中,除了用戶(hù)即時(shí)執(zhí)行的命令操作以外,還可以配置在指定的時(shí)間、指定的日期執(zhí)行預(yù)先計(jì)劃的系統(tǒng)管理任務(wù)(如定期備份、定期采集監(jiān)測(cè)數(shù)據(jù))。CentOS 系統(tǒng)中默認(rèn)已安裝了 at、cronie 軟件包
-
設(shè)置一次性計(jì)劃時(shí),在at命令中依次指定計(jì)劃執(zhí)行任務(wù)的時(shí)間、日期作為參數(shù)
-
確認(rèn)后進(jìn)入帶“at>”提示符的任務(wù)編輯器界面,每行設(shè)置一條執(zhí)行命令,可以依次設(shè)置多條語(yǔ)句,最后按Ctrl+D組合鍵提交任務(wù)
-
注:計(jì)劃執(zhí)行任務(wù)的時(shí)間、日期必須安排在當(dāng)前系統(tǒng)時(shí)間之后
-
對(duì)應(yīng)條件:對(duì)應(yīng)系統(tǒng)服務(wù)為atd,必須已經(jīng)運(yùn)行
- “atq”命令可以進(jìn)行查詢(xún),對(duì)于已經(jīng)設(shè)置但還未執(zhí)行(未到時(shí)間點(diǎn))的計(jì)劃任務(wù),但已執(zhí)行過(guò)的不會(huì)再出現(xiàn)在列表中
- "atrm"命令可以刪除指定編號(hào)的at任務(wù)
四、周期性任務(wù)設(shè)置—crontab
-
使用crontab命令設(shè)置的計(jì)劃任務(wù)可以按預(yù)設(shè)的周期重復(fù)執(zhí)行,可以大大減輕設(shè)置重復(fù)性系統(tǒng)管理任務(wù)的操作
-
由軟件包c(diǎn)ronie提供crontab工具、系統(tǒng)服務(wù)crond和配置文件/etc/crontab
-
前提條件:對(duì)應(yīng)的系統(tǒng)服務(wù)crond必須已經(jīng)運(yùn)行
1、配置文件和目錄
- crond 通過(guò)多個(gè)目錄和文件設(shè)置計(jì)劃任務(wù),不同類(lèi)型的任務(wù)由不同的配置文件來(lái)設(shè)置
①系統(tǒng)任務(wù)配置文件,位于文件:/etc/crontab
- 設(shè)置的是維護(hù)Linux系統(tǒng)所需的任務(wù),由Linux系統(tǒng)及相關(guān)程序在安裝時(shí)自動(dòng)設(shè)置,不建議用戶(hù)修改
②系統(tǒng)默認(rèn)的設(shè)置,位于目錄:/etc/cron.*/
- 軟件包c(diǎn)rontabs安裝后,會(huì)在此目錄下升恒一些系統(tǒng)默認(rèn)設(shè)置的計(jì)劃任務(wù)目錄,設(shè)置了系統(tǒng)每個(gè)小時(shí)、每一天做些什么工作
③用戶(hù)定義的設(shè)置,位于文件:/var/spool/cron/
- 由用戶(hù)使用crontab命令設(shè)置的cron計(jì)劃會(huì)被保存在此目錄中(會(huì)在此目錄中生成一個(gè)與用戶(hù)名相同的文件)
crond 守護(hù)進(jìn)程會(huì)自動(dòng)檢查/etc/crontab 文件、/etc/cron.d/目錄及 /var/spool/cron/目錄中的改變,如果發(fā)現(xiàn)有配置更改,它們就會(huì)被載入內(nèi)存,所以當(dāng)某個(gè) crontab 文件改變后并不需要重新啟動(dòng) crond 守護(hù)進(jìn)程就可以使設(shè)置生效
2、管理crontab計(jì)劃任務(wù)
| -l | 列出當(dāng)前用戶(hù)下的cron的詳細(xì)內(nèi)容 |
| -u zx -l | 列出zx用戶(hù)下的cron的詳細(xì)內(nèi)容 |
| -r | 刪除所有用戶(hù)的cron內(nèi)容,普通用戶(hù)執(zhí)行,只刪除自己的cron內(nèi)容 |
| -r -u zx | 刪除zx用戶(hù)的cron內(nèi)容 |
| -e | 編輯cron服務(wù) |
3、crontab 任務(wù)配置的格式
| 分鐘 | 取值為從0到59之間的任意整數(shù) |
| 小時(shí) | 取值為從0到23之間的任意整數(shù) |
| 日期 | 取值為從1到31之間的任意整數(shù) |
| 月份 | 取值為從1到12之間的任意整數(shù) |
| 星期 | 取值為從0到7之間的任意整數(shù),0或7代表星期日 |
| 命令 | 要執(zhí)行的命令或程序腳本 |
背記口訣(牢記):分 時(shí) 日 月 周
4、時(shí)間數(shù)值的特殊表示方法
①特殊表示方式及示例
-
“*”表示該范圍內(nèi)的任意時(shí)間
-
“,”表示一個(gè)間隔內(nèi)的多個(gè)不連續(xù)時(shí)間點(diǎn)
-
“-”表示一個(gè)連續(xù)的時(shí)間范圍
-
“/”表示間隔的時(shí)間頻率
示例1:
若要按固定的周期重復(fù)完成一些系統(tǒng)管理任務(wù),任務(wù)內(nèi)容如下:①每天早上 7:50
自動(dòng)開(kāi)啟httpd 服務(wù),22:50 關(guān)閉 httpd 服務(wù);②每隔五天清空一次 FTP 服務(wù)器公共目錄/var/ftp/pub 中的數(shù)據(jù);③每周六的 7:30 重新啟動(dòng)系統(tǒng)中的 httpd 服務(wù);④每周一、周三、周五的下午 17:30,使用 tar 命令自動(dòng)備份/etc/httpd 目錄,則可由 root 用戶(hù)通過(guò) crontab 設(shè)置以下計(jì)劃任務(wù)
-
因?yàn)閳?zhí)行任務(wù)時(shí)不需要用戶(hù)登錄,建議都使用絕對(duì)路徑,避免因缺少執(zhí)行路徑而無(wú)法執(zhí)行命令的情況
-
在設(shè)置每分都執(zhí)行的任務(wù)時(shí),“分鐘”字段也應(yīng)填寫(xiě)一個(gè)具體的時(shí)間數(shù)值,而不是默認(rèn)的“*”,否則將會(huì)每分鐘執(zhí)行一次任務(wù)
示例2:
普通用戶(hù)執(zhí)行“crontab -e”命令時(shí),可以設(shè)置自己的計(jì)劃任務(wù)(需要注意命令的執(zhí)行權(quán)限)。
例如,用戶(hù)xjj 設(shè)置一條計(jì)劃任務(wù):在每周五晚上的 23:55 將/etc/passwd 文件的內(nèi)容復(fù)制到宿主目錄中,保存為 123.txt 文件,具體操作如下:
②查看用戶(hù)的計(jì)劃任務(wù)表
crontab 命令結(jié)合“-l”選項(xiàng)可以查看當(dāng)前用戶(hù)的計(jì)劃任務(wù)列表,對(duì)于 root 用戶(hù)來(lái)說(shuō),還可以結(jié)合“-u”選項(xiàng)查看其他用戶(hù)的計(jì)劃任務(wù),具體操作如下:
[root@localhost ~]# crontab –l #查看用戶(hù)root 自己的計(jì)劃任務(wù) 50 7 * * * /usr/bin/systemctl start httpd.service 50 22 * * * /usr/bin/systemctl stop httpd.servic 0 0 */5 * * /usr/bin/rm -rf /var/ftp/pub/* 30 7 * * 6 /usr/bin/systemctl httpd restart 30 17 * * 1,3,5 /usr/bin/tar jcf httpdconf.tar.bz2 /etc/httpd/ [root@localhost ~]# crontab -l -u xjj #查看用戶(hù)xjj的計(jì)劃任務(wù) 55 23 * * 7 /usr/bin/cp /etc/passwd /home/xjj/123.txt [root@localhost ~]# ll /var/spool/cron/xjj -rw-------. 1 root root 57 May 7 11:10 /var/spool/cron/xjj③刪除用戶(hù)的計(jì)劃任務(wù)表
- 當(dāng)只需要?jiǎng)h除某一條計(jì)劃任務(wù)時(shí),可以通過(guò)“crontab -e”命令進(jìn)行編輯;而若要清空某個(gè)用戶(hù)的所有計(jì)劃任務(wù),可以執(zhí)行“crontab -r”命令
總結(jié)
在生產(chǎn)環(huán)境中設(shè)置相應(yīng)的計(jì)劃任務(wù)可以按預(yù)設(shè)的周期重復(fù)執(zhí)行,可以大大減輕設(shè)置重復(fù)性系統(tǒng)管理任務(wù)的操作
總結(jié)
以上是生活随笔為你收集整理的Linux--进程与任务管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: TabLayout+ViewPager实
- 下一篇: Linux下oracle11Gr2(64