




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第9章進(jìn)程管理1本章內(nèi)容要點進(jìn)程概述進(jìn)程管理作業(yè)控制守護(hù)進(jìn)程Xinetd和TCPWappers安排周期性任務(wù)2022/7/132本章學(xué)習(xí)目標(biāo) 理解進(jìn)程相關(guān)概念掌握如何運(yùn)行后臺進(jìn)程及注銷后繼續(xù)執(zhí)行掌握進(jìn)程管理命令的使用掌握作業(yè)控制的命令及快捷鍵的使用理解并管理守護(hù)進(jìn)程掌握用Xinetd和TCPWappers配置訪問控制的方法掌握周期性任務(wù)的設(shè)置方法2022/7/133進(jìn)程相關(guān)概念2022/7/134程序、進(jìn)程和作業(yè)程序( program)程序是機(jī)器指令的集合, 文件形式存儲進(jìn)程( process )進(jìn)程是一個程序在其自身的虛擬地址空間中的一次 執(zhí)行活動 作業(yè)/任務(wù)( job/task )用戶通過
2、操作系統(tǒng)用戶接口(Shell或X環(huán)境)提交給計算機(jī)進(jìn)行加工處理的程序。如用戶發(fā)出一個打印命令,就產(chǎn)生一個打印作業(yè)/任務(wù)。 2022/7/135進(jìn)程和程序概念的比較程序只是一個靜態(tài)的指令集合;而進(jìn)程是一個程序的動態(tài)執(zhí)行過程,它具有生命期,是動態(tài)的產(chǎn)生和消亡的。進(jìn)程是資源申請、調(diào)度和獨立運(yùn)行的單位,因此,它使用系統(tǒng)中的運(yùn)行資源;而程序不能申請系統(tǒng)資源、不能被系統(tǒng)調(diào)度、也不能作為獨立運(yùn)行的單位,因此,它不占用系統(tǒng)的運(yùn)行資源。程序和進(jìn)程無一一對應(yīng)的關(guān)系。一方面一個程序可以由多個進(jìn)程所共用,即一個程序在運(yùn)行過程中可以產(chǎn)生多個進(jìn)程;另一方面,一個進(jìn)程在生命期內(nèi)可以順序的執(zhí)行若干個程序。2022/7/136
3、進(jìn)程進(jìn)程是一個動態(tài)實體。進(jìn)程是處理器通過操作系統(tǒng)調(diào)度的基本單位。 每個進(jìn)程的執(zhí)行都獨立于系統(tǒng)中的其它進(jìn)程。 進(jìn)程之間可以通過稱為進(jìn)程間通信(IPC)的機(jī)制進(jìn)行交互。當(dāng)進(jìn)程之間共享數(shù)據(jù)時,操作系統(tǒng)使用了同步技術(shù)來保證共享的合法性。2022/7/137Linux是多用戶多任務(wù)系統(tǒng)當(dāng)多個用戶同時在一個系統(tǒng)上工作時,Linux 要能夠同時滿足用戶們的要求,而且還要使用戶感覺不到系統(tǒng)在同時為多個用戶服務(wù),就好像每一個用戶都單獨擁有整個系統(tǒng)一樣。每個用戶均可同時運(yùn)行多個程序。為了區(qū)分每一個運(yùn)行的程序,Linux 給每個進(jìn)程都做了標(biāo)識,稱為進(jìn)程號(process ID),每個進(jìn)程的進(jìn)程號是唯一的。Linux
4、 給每個進(jìn)程都打上了運(yùn)行者的標(biāo)志,用戶可以控制自己的進(jìn)程:給自己的進(jìn)程分配不同的優(yōu)先級,也可以隨時終止自己的進(jìn)程。進(jìn)程從執(zhí)行它的用戶處繼承UID、GID,從而決定對文件系統(tǒng)的存取和訪問。2022/7/138Linux的多任務(wù)實現(xiàn)分時技術(shù)Linux 不可能在一個 CPU 上同時處理多個任務(wù)(作業(yè))請求,而是采用 “分時” 技術(shù)來處理這些任務(wù)請求。分時技術(shù)所有的任務(wù)請求被排除一個隊列,系統(tǒng)按順序每次從這個隊列中抽取一個任務(wù)來執(zhí)行,這個任務(wù)執(zhí)行很短的時間(幾毫秒)后,系統(tǒng)就將它排到任務(wù)隊列的末尾,然后讀入隊列中的下一個任務(wù),以同樣的方式執(zhí)行。這樣經(jīng)過一段時間后,任務(wù)隊列中的所有任務(wù)都被執(zhí)行一次,然后
5、又開始下一輪循環(huán)。2022/7/139Linux中的進(jìn)程識別使用PID區(qū)分不同的進(jìn)程系統(tǒng)啟動后的第一個進(jìn)程是init,它的PID是1。init是唯一一個由系統(tǒng)內(nèi)核直接運(yùn)行的進(jìn)程。除了init之外,每個進(jìn)程都有父進(jìn)程(PPID標(biāo)識)每個進(jìn)程還有四個與用戶和組相關(guān)的識別號實際用戶識別號(real user ID,RUID)實際組識別號(real group ID,RGID)有效用戶識別號(effect user ID,EUID)有效組識別號(effect group ID,EGID)2022/7/1310用戶、進(jìn)程與權(quán)限RUID和RGID的作用識別正在運(yùn)行此進(jìn)程的用戶和組。一個進(jìn)程的RUID和RG
6、ID就是運(yùn)行此進(jìn)程的UID和GID。EUID和EGID的作用確定一個進(jìn)程對其訪問的文件的權(quán)限。除了產(chǎn)生進(jìn)程的程序被設(shè)置SUID和SGID權(quán)限位之外,一般EUID、EGID和RUID、RGID相同。若程序被設(shè)置了SUID或SGID權(quán)限位,則此進(jìn)程相應(yīng)的EUID和EGID,將和運(yùn)行此進(jìn)程的文件的所屬用戶的UID或所屬組的GID相同。2022/7/1311進(jìn)程類型交互進(jìn)程由一個Shell啟動的進(jìn)程。交互進(jìn)程既可以在前臺運(yùn)行,也可以在后臺運(yùn)行。 批處理進(jìn)程不與特定的終端相關(guān)聯(lián),提交到等待隊列中順序執(zhí) 行的進(jìn)程。 守護(hù)進(jìn)程(Daemon)在Linux在啟動時初始化,需要時運(yùn)行于后臺的進(jìn) 程。 2022/
7、7/1312進(jìn)程的啟動方式手工方式:使用操作系統(tǒng)提供的用戶接口前臺后臺 (&)調(diào)度方式:按照預(yù)先指定的時間執(zhí)行atbatchcron2022/7/1313前臺與后臺 前臺進(jìn)程指一個程序控制著標(biāo)準(zhǔn)輸入/輸出,在程序運(yùn)行時,shell 被暫時掛起,直到該程序運(yùn)行結(jié)束后,才退回到 shell。在這個過程中,用戶不能再執(zhí)行其它程序。 后臺進(jìn)程用戶不必等待程序運(yùn)行結(jié)束就可以執(zhí)行其它程序。運(yùn)行后臺進(jìn)程的方法是在命令行最后加上 “&”例如:$ sleep 10000 &在一個終端里只能同時存在一個前臺任務(wù),但可以有多個后臺任務(wù)。2022/7/1314INIT與Shell命令執(zhí)行過程2022/7/1315進(jìn)程
8、管理2022/7/1316查看系統(tǒng)中的進(jìn)程使用ps命令查看進(jìn)程狀態(tài)信息顯示哪些進(jìn)程正在執(zhí)行和執(zhí)行的狀態(tài)進(jìn)程是否結(jié)束、進(jìn)程有沒有僵死哪些進(jìn)程占用了過多的系統(tǒng)資源等ps( Process Status )命令格式ps 選項不帶任何選項的ps命令顯示當(dāng)前用戶所在終端中的所有進(jìn)程輸出項包括:識別號(PID)、終端(TTY)、運(yùn)行時間(TIME)、產(chǎn)生該進(jìn)程所運(yùn)行的命令(CMD)2022/7/1317ps命令的常用選項選項說明-e顯示所有進(jìn)程,等價于 -A。-f完全(FULL)顯示。增加顯示用戶名、PPID、進(jìn)程起始時間。 f/-H顯示進(jìn)程樹,等價于 -forest。 a顯示終端上的所有進(jìn)程,包括其他用
9、戶的進(jìn)程。 x顯示沒有控制終端地進(jìn)程。 u面向用戶的顯示格式。增加顯示用戶名,進(jìn)程起始時間,CPU 和內(nèi)存占用百分比等信息。-u 僅顯示指定用戶的進(jìn)程。l/-l長格式顯示。增加顯示進(jìn)程的UID、PPID和優(yōu)先權(quán)值。ww/-ww加寬顯示。通常用于顯示完整的命令行。o/-o 由用戶自定義輸出列。-sort 指定按哪/哪些列排序,order格式為:+|-key,+|-key,.2022/7/1318ps命令使用舉例$ ps e 顯示所有進(jìn)程$ ps ef 完整顯示所有進(jìn)程信息,增加顯示用戶名、PPID、進(jìn)程起始時間$ ps eH 顯示所有進(jìn)程的進(jìn)程樹$ ps elw 以長格式、寬字符所有進(jìn)程信息,增
10、加顯示進(jìn)程的UID、PPID和優(yōu)先權(quán)值$ ps au 以面向用戶的顯示格式所有進(jìn)程信息。增加顯示用戶名,進(jìn)程起始時間,CPU 和內(nèi)存占用百分比等信息。$ ps aux以面向用戶的顯示格式所有沒有控制終端的進(jìn)程信息。增加顯示用戶名,進(jìn)程起始時間,CPU 和內(nèi)存占用百分比等信息。$ ps axf 以進(jìn)程樹形式顯示所有沒有控制終端地進(jìn)程$ ps auxw以長格式且是面向用戶的顯示格式所有沒有控制終端的進(jìn)程信息。增加顯示用戶名,進(jìn)程起始時間,CPU 和內(nèi)存占用百分比等信息。2022/7/1319ps 常見的輸出標(biāo)記UID用戶 IDSTART進(jìn)程啟動時間USER用戶名TIME執(zhí)行時間PID進(jìn)程 IDST
11、AT進(jìn)程狀態(tài)PPID父進(jìn)程的 IDNI優(yōu)先權(quán)值 / nice 值TTY啟動進(jìn)程的終端CMD命令名(COMMAND)RSS進(jìn)程所用內(nèi)存塊數(shù)%CPU進(jìn)程所用CPU時間百分比(pcpu)VSZ進(jìn)程所用虛擬內(nèi)存塊數(shù)%MEM進(jìn)程所有MEM百分比(pmem) ps 的輸出依賴于用戶所給的選項2022/7/1320ps命令的進(jìn)程狀態(tài)列R正在運(yùn)行或處在運(yùn)行隊列中S休眠T停止或被追蹤W進(jìn)程在 RAM 中沒有駐留頁(2.6.xx 的內(nèi)核無效)D不可中斷的睡眠,通常指 I/OZ僵尸進(jìn)程(已結(jié)束但未被父進(jìn)程收回)X已死進(jìn)程 (這個狀態(tài)不會出現(xiàn))具有最高優(yōu)先權(quán)N具有較低的優(yōu)先權(quán) STAT 或 S 列的輸出2022/7/
12、1321For BSD formats and when the stat keyword is used, additional characters maybe displayed: high-priority (not nice to other users)N low-priority (nice to other users)L has pages locked into memory (for real-time and custom IO)s is a session leaderl is multi-threaded (using CLONE_THREAD, like NPTL
13、 pthreads do)+ is in the foreground process group22搜索進(jìn)程使用ps和|grep$ ps aux | grep httpdpidof 通過運(yùn)行的程序名查找其PID2022/7/1323改變進(jìn)程調(diào)度優(yōu)先權(quán)在啟動進(jìn)程時指定在啟動進(jìn)程時就指定優(yōu)先級: nicenice 優(yōu)先級改變量 命令 &是指優(yōu)先級的增量 若為正,表示增加nice值,即降低進(jìn)程優(yōu)先權(quán) 若為負(fù),表示減小nice值,即提高優(yōu)先權(quán) 若缺省,則默認(rèn)為 10,即 nice值 增加 102022/7/1324語法:nice -n -help-version執(zhí)行指令補(bǔ)充說明:nice指令可以改變
14、程序執(zhí)行的優(yōu)先權(quán)等級。參數(shù):-n或-或adjustment= 設(shè)置欲執(zhí)行的指令的優(yōu)先權(quán)等級。等級的范圍從-20-19,其中-20最高,19最低,只有系統(tǒng)管理者可以設(shè)置負(fù)數(shù)的等級。help 在線幫助。version 顯示版本信息25nice命令舉例nice 5 lp paper.pdf &注:使用 nice 同樣可以改變前臺任務(wù)的優(yōu)先級。例:超級用戶(root)忙著打印一份演講稿:nice -10 lp report.pdf注:只有 root 才有權(quán)限提高一個進(jìn)程的優(yōu)先權(quán)。例:2022/7/1326改變進(jìn)程調(diào)度優(yōu)先權(quán)在進(jìn)程運(yùn)行過程中調(diào)整進(jìn)程運(yùn)行后調(diào)整優(yōu)先級: renice在系統(tǒng)資源緊張時,可以通
15、過降低其它不著急的進(jìn)程的優(yōu)先權(quán),從而使得急用的進(jìn)程能分得更多的 CPU 時間。root 可以提高進(jìn)程的優(yōu)先權(quán),但普通用戶沒這個權(quán)限。renice 5 p 2345 # -p 可以省略注:普通用戶一旦增加某個進(jìn)程的優(yōu)先級 (即降低優(yōu)先值) 后,就無法再回復(fù)到原來的優(yōu)先級。2022/7/1327語法:renice 優(yōu)先等級-g .-p .-u .補(bǔ)充說明:renice指令可重新調(diào)整程序執(zhí)行的優(yōu)先權(quán)等級。預(yù)設(shè)是以程序識別碼指定程序調(diào)整其優(yōu)先權(quán),您亦可以指定程序群組或用戶名稱調(diào)整優(yōu)先權(quán)等級,并修改所有隸屬于該程序群組或用戶的程序的優(yōu)先權(quán)。等級范圍從-2019,只有系統(tǒng)管理者可以改變其他用戶程序的優(yōu)先權(quán)
16、,也僅有系統(tǒng)管理者可以設(shè)置負(fù)數(shù)等級。參數(shù):-g 使用程序群組名稱,修改所有隸屬于該程序群組的程序的優(yōu)先權(quán)。-p 改變該程序的優(yōu)先權(quán)等級,此參數(shù)為預(yù)設(shè)值。-u 指定用戶名稱,修改所有隸屬于該用戶的程序的優(yōu)先權(quán)28進(jìn)程信號(signal)進(jìn)程信號是在軟件層次上對中斷機(jī)制的一種模擬,在原理上,一個進(jìn)程收到一個信號與處理器收到一個中斷請求可以說是一樣的。進(jìn)程信號是最基本的進(jìn)程間通訊方式可以在進(jìn)程之間直接發(fā)送,而不需要用戶界面可以在Shell中通過kill命令發(fā)送給進(jìn)程Linux對每種進(jìn)程信號都規(guī)定了默認(rèn)關(guān)聯(lián)動作。查看可用的進(jìn)程信號$ kill -l$2022/7/1329進(jìn)程信號和信號發(fā)送常見的進(jìn)程信
17、號SIGTERM | TERM (15) 正常終止 (默認(rèn))SIGKILL | KILL (9) 立即終止SIGHUP | HUP (1) 重讀配置文件給進(jìn)程發(fā)送信號按PID: kill 信號 PID 按名稱:killall 信號 COMM 按模式:pkill -信號 模式發(fā)送信號可以使用名稱或數(shù)字號碼2022/7/1330殺死進(jìn)程為什么要殺死進(jìn)程該進(jìn)程占用了過多的CPU時間該進(jìn)程鎖住了一個終端,使其他前臺進(jìn)程無法運(yùn)行運(yùn)行時間過長,但沒有預(yù)期效果或無法正常退出產(chǎn)生了過多到屏幕或磁盤文件的輸出kill/killall 命令舉例$ kill 1234 OR $ kill -9 1234$ kill
18、all myprog OR $ killall -9 myprog 注:(1) 使用 kill 前需要先用 ps 查看需要終止的進(jìn)程的pid; (2) kill 9 很霸道,它在殺死一個進(jìn)程的同時,將殺死其所有子進(jìn)程,使用時要謹(jǐn)慎。如錯殺 login 進(jìn)程或 shell 進(jìn)程等。2022/7/1331作業(yè)控制作業(yè)控制是指控制當(dāng)前正在運(yùn)行的進(jìn)程的行為,也被稱為進(jìn)程控制。暫時停止某個運(yùn)行程序 使用Ctrl-z或發(fā)送信號 17 (STOP) 2022/7/1332守護(hù)進(jìn)程2022/7/1333守護(hù)進(jìn)程( Daemon )始終在后臺運(yùn)行并響應(yīng)合法請求的程序稱為守護(hù)(Daemon)進(jìn)程。守護(hù)進(jìn)程不是由用
19、戶啟動運(yùn)行的,也不與終端關(guān)聯(lián)。一個實際運(yùn)行中的系統(tǒng)一般會有多個守護(hù)進(jìn)程在運(yùn)行,且各個系統(tǒng)中運(yùn)行的守護(hù)進(jìn)程都不盡相同。除非程序異常中止或者人為終止,否則它們將一直運(yùn)行下去直至系統(tǒng)關(guān)閉。UNIX/Linux的守護(hù)進(jìn)程在Windows系統(tǒng)中被稱作“服務(wù)”。查看系統(tǒng)當(dāng)前運(yùn)行的守護(hù)進(jìn)程: pstree2022/7/1334守護(hù)進(jìn)程的分類系統(tǒng)守護(hù)進(jìn)程計劃性任務(wù) daemon:如 atd、crond系統(tǒng)日志 daemon:如 syslogd打印假脫機(jī) daemon:如 cupsd、lpd網(wǎng)絡(luò)參數(shù)設(shè)置 daemon:如 network網(wǎng)絡(luò)守護(hù)進(jìn)程各種網(wǎng)絡(luò)協(xié)議偵聽 daemon如:sshd、httpd、send
20、mail、vsftpd網(wǎng)絡(luò)超級服務(wù)器(Supper Server)如:xinetd 或 inetd2022/7/1335客戶機(jī)/服務(wù)器模型2022/7/1336網(wǎng)絡(luò)守護(hù)進(jìn)程的工作原理網(wǎng)絡(luò)程序之間的連接是通過端口之間的連接而實現(xiàn)的。在C/S模型中,服務(wù)器監(jiān)聽(Listen)在一個特定的端口上等待客戶的連接。連接成功之后客戶機(jī)與服務(wù)器通過端口進(jìn)行數(shù)據(jù)通訊。 守護(hù)進(jìn)程的工作就是打開一個端口,并且等待并監(jiān)聽(Listen)進(jìn)入的連接。如果客戶提請了一個連接,守護(hù)進(jìn)程就創(chuàng)建(fork)子進(jìn)程來響應(yīng)此連接,而父進(jìn)程繼續(xù)監(jiān)聽更多的服務(wù)請求。因此,每個守護(hù)進(jìn)程都可以處理多個客戶服務(wù)請求。 2022/7/133
21、7超級服務(wù)器的引入對于系統(tǒng)所要提供的每一種網(wǎng)絡(luò)服務(wù),都必須運(yùn)行一個監(jiān)聽某個端口連接發(fā)生的守護(hù)程序,這通常意味著系統(tǒng)資源的浪費(fèi)。為了避免系統(tǒng)資源浪費(fèi)引入了“超級服務(wù)器”超級服務(wù)器啟動后同時監(jiān)聽它所管理的服務(wù)的所有端口當(dāng)有客戶提出服務(wù)請求時超級服務(wù)器會判斷這是對哪一個服務(wù)的請求,然后再開啟與此服務(wù)相應(yīng)的守護(hù)進(jìn)程由超級服務(wù)器產(chǎn)生的某服務(wù)的進(jìn)程處理客戶的請求,當(dāng)處理結(jié)束便終止此服務(wù)進(jìn)程超級服務(wù)器本身繼續(xù)監(jiān)聽其他服務(wù)請求2022/7/1338守護(hù)進(jìn)程的啟動方式獨立啟動 獨立運(yùn)行的守護(hù)進(jìn)程由init腳本負(fù)責(zé)管理獨立運(yùn)行的守護(hù)進(jìn)程的腳本存放在/etc/rc.d/init.d/目錄下所有的系統(tǒng)服務(wù)都是獨立運(yùn)行
22、的。如:crond、syslogd等一些常用的網(wǎng)絡(luò)守護(hù)進(jìn)程是獨立運(yùn)行的。如:httpd等瞬態(tài)啟動 由網(wǎng)絡(luò)超級服務(wù)器(xinetd)運(yùn)行的守護(hù)進(jìn)程由xinetd管理的守護(hù)進(jìn)程的配置文件存在/etc/xinetd.d/目錄下默認(rèn)的xinetd的主配置文件是/etc/xinetd.conf一些不常用的網(wǎng)絡(luò)守護(hù)進(jìn)程是由xinetd啟動的,如:telnet、 tftp等xinetd本身是獨立運(yùn)行的守護(hù)進(jìn)程2022/7/1339超級服務(wù)器xinetd簡介什么是xinetd xinetd是新一代的網(wǎng)絡(luò)守護(hù)進(jìn)程服務(wù)程序,提供類似于早期的inetd+tcp_wrapper的功能,與之相比xinetd更加強(qiáng)大和安
23、全。xinetd的功能支持tcp、ucp、RPC協(xié)議服務(wù)基于時間段的訪問控制功能完備的log功能,能限制log文件大小能有效的防止DoS攻擊(Denial of Services)能限制同時運(yùn)行的同一類型的服務(wù)器數(shù)目 能限制啟動的所有服務(wù)器的數(shù)目整合了TCP Wrappers的 libwrap.so庫2022/7/1340 xinetd的配置xinetd的配置文件/etc/xinetd.conf/etc/xinetd.d/*xinetd的常見配置參數(shù)disable (xinetd是否監(jiān)控此服務(wù) )server (指定由xinetd監(jiān)控的服務(wù)器路徑 )server_args (指定由xinetd
24、監(jiān)控的服務(wù)器的運(yùn)行參數(shù))only_from (只允許指定的主機(jī)訪問 )no_access (指定不能訪問的主機(jī))per_source (每個客戶機(jī)的最大連接數(shù) )instances (服務(wù)器總共支持的最高連接數(shù) )2022/7/1341xinetd配置舉例 /etc/xinetd.d/tftpservice tftp disable =no socket_type =dgram protocol =udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot cps = 100 2 flags
25、 = IPv4 instances = 20 per_source = 1 access_times = 7:00-12:00 13:30-19:00 only_from = /242022/7/1342守護(hù)進(jìn)程管理工具2022/7/1343用chkconfig管理守護(hù)進(jìn)程chkconfig的功能添加指定的新服務(wù)清除指定的服務(wù)顯示由chkconfig管理的服務(wù)改變服務(wù)的運(yùn)行級別檢查服務(wù)的啟動狀態(tài)chkconfig命令的格式 # chkconfig -list server-name# chkconfig -add server-name# chkconfig -del server-name#
26、 chkconfig -level levels server-name 2022/7/1344chkconfig使用舉例查看指定的服務(wù)在所有運(yùn)行級別的運(yùn)行狀態(tài) # chkconfig -list sendmail 顯示由chkconfig管理的所有服務(wù) # chkconfig -list 添加一個由chkconfig管理的服務(wù) # chkconfig -add httpd 更改指定服務(wù)在指定運(yùn)行級別的運(yùn)行狀態(tài) # chkconfig -level 35 httpd on 2022/7/1345用ntsysv管理守護(hù)進(jìn)程2022/7/1346使用service管理守護(hù)進(jìn)程service的功能在
27、系統(tǒng)運(yùn)行期間改變守護(hù)程序的運(yùn)行狀態(tài)service的命令格式 # service -status-all# service server-name status # service server-name start|stop|restart2022/7/1347service使用舉例查看系統(tǒng)中的所有守護(hù)進(jìn)程的狀態(tài) # service -status-all 查看某個具體的守護(hù)進(jìn)程的狀態(tài) # service vsftpd status啟動或停止某個守護(hù)進(jìn)程 獨立運(yùn)行 # service httpd start|stop|restart 由xinetd運(yùn)行 # chkconfig tftp on|
28、off # service xinetd restart2022/7/1348自動安排進(jìn)程任務(wù)為什么要安排調(diào)度進(jìn)程任務(wù)調(diào)度任務(wù)的守護(hù)進(jìn)程atdcrond安排調(diào)度任務(wù)的幾個命令 at安排作業(yè)在某一時刻執(zhí)行一次batch安排作業(yè)在系統(tǒng)負(fù)載不重時執(zhí)行一次cron安排周期性運(yùn)行的作業(yè)2022/7/1349crond守護(hù)進(jìn)程crond守護(hù)進(jìn)程負(fù)責(zé)監(jiān)控周期性任務(wù)的執(zhí)行crond守護(hù)進(jìn)程的執(zhí)行參數(shù)/etc/sysconfig/crond控制普通用戶的使用若/etc/cron.allow存在,僅列在其中的用戶允許使用若/etc/cron.allow 不存在,檢查/etc/cron.deny,沒有列于其中的所有
29、用戶允許使用若兩個文件均不存在,僅允許root用戶使用空的/etc/cron.deny文件,表示允許所有用戶使用(默認(rèn)值)2022/7/1350crond的運(yùn)行機(jī)制crond守護(hù)進(jìn)程搜索crontab文件并載入內(nèi)存 ( crontab文件即/etc/crontab文件和 /var/spool/cron/目錄下以用戶名命名的文件)crond守護(hù)進(jìn)程啟動以后,它將首先檢查是否有用戶 設(shè)置了crontab文件,如果沒有就轉(zhuǎn)入休眠狀態(tài),釋放系統(tǒng)資源 crond守護(hù)進(jìn)程每分鐘醒來一次,查看crontab文件決定當(dāng)前是否有需要執(zhí)行的命令。命令執(zhí)行結(jié) 束后,沒有被重定向的輸出都將作為郵件發(fā)送給安排次任務(wù)的所
30、有者 2022/7/1351crontab命令的作用及格式作用:用于生成cron進(jìn)程所需要的crontab文件命令格式 crontab -u user filecrontab -u user -l|-r|-e -l 在標(biāo)準(zhǔn)輸出上顯示當(dāng)前的crontab-r 刪除當(dāng)前的crontab-e 使用編輯器編輯當(dāng)前的crontab文件。當(dāng)結(jié)束編 輯離開時,編輯后的文件將自動安裝。任何被允許的用戶都可以使用crontab安排任務(wù)2022/7/1352crontab文件的格式注釋行以 # 開頭 詳情參見 man 5 crontab每一行由5個時間字段及命令組成minute hour day-of-month
31、 month-of-year day-of-week commands五個時間字段minute:一小時中的哪一分鐘 059hour:一天中的哪個小時 023day-of-month:一月中的哪一天 131month-of-year:一年中的哪一月 112day-of-week:一周中的哪一天 062022/7/1353crontab文件的書寫注意事項這些項都不能為空,必須填入 如果用戶不需要指定其中的幾項時間,那么可以使用統(tǒng)配符*表示任何時間 每個時間字段都可以指定多個值,它們之間用”,”間隔,如:1,3,5每個時間字段都可以指定范圍,它們之間用“-”間隔 ,如:12-20每個時間字段都可以使
32、用*/n表示每隔n,如:*/2命令應(yīng)該給出絕對路徑,或設(shè)置PATH環(huán)境變量 用戶必須具有運(yùn)行所對應(yīng)的命令或程序的權(quán)限2022/7/1354cron的使用范例直接使用命令crontab e加載任務(wù)在編輯器中編輯00 03 * * 2,4,6 shutdown -r +10”存盤退出先創(chuàng)建crontab文件,然后加載任務(wù)# echo “00 03 * * 2,4,6 shutdown -r +10” /root/reboot.cron# crontab /root/reboot.croncron任務(wù)加載以后,可以到/var/spool/cron目 錄確認(rèn)2022/7/1355系統(tǒng)的 cron 任務(wù)
33、crond 守護(hù)進(jìn)程還將搜索系統(tǒng)的cron任務(wù)配置文件 /etc/crontab 。使用/etc/crontab 文件為系統(tǒng)管理員安排 cron 任務(wù)提供了方便。以下目錄中存放了/etc/crontab 文件運(yùn)行時執(zhí)行的文件/etc/cron.hourly/ :存放每小時要執(zhí)行的任務(wù)文件/etc/cron.daily/ :存放每天要執(zhí)行的任務(wù)文件/etc/cron.weekly/ :存放每周要執(zhí)行的任務(wù)文件/etc/cron.monthly/ :存放每月要執(zhí)行的任務(wù)文件管理員在 /etc/cron.*ly目錄下建立腳本文件來安排 cron任務(wù),且在腳本中只需寫要安排執(zhí)行的命令即可/etc/cr
34、on.d/ 目錄包含額外的系統(tǒng) crontab 文件2022/7/1356系統(tǒng)的 cron 任務(wù)/etc/crontab 文件# cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root r
35、un-parts /etc/cron.monthlyrun-parts 是 crontab 軟件包的一個命令組件,它用于執(zhí)行指定目錄下的所有可執(zhí)行文件2022/7/1357系統(tǒng)日常的cron任務(wù)tmpwatch 清除指定目錄中的文件,不讓/tmp目錄處于滿狀態(tài) logrotate 日志滾動,讓日志文件不要變得太大 配置文件:/etc/logrotate.conf logwatch 一個日志文件分析程序,提供系統(tǒng)活動摘要,報告可疑信息 配置文件:/etc/logwatch/conf/logwatch.conf2022/7/1358本章思考題什么是進(jìn)程?它與程序有何關(guān)系?進(jìn)程的類型?進(jìn)程的啟動方式
36、?如何查看進(jìn)程?如何刪除進(jìn)程?什么是作業(yè)控制?什么是前臺進(jìn)程?什么是后臺進(jìn)程?什么是守護(hù)進(jìn)程?守護(hù)進(jìn)程的運(yùn)行方式和分類? 什么是超級網(wǎng)絡(luò)服務(wù)器?為什么使用超級網(wǎng)絡(luò)服務(wù)器?如何使用xinetd和TCP Wrappers實現(xiàn)訪問控制?簡述chkconfig、service和ntsysv命令的使用方法。什么是cron任務(wù)?如何加載cron任務(wù)?簡述crontab文件中各個字段的含義及書寫規(guī)范。如何安排系統(tǒng)的cron任務(wù)?2022/7/1359本章實驗學(xué)會顯示和殺死進(jìn)程。學(xué)會顯示和管理守護(hù)進(jìn)程。學(xué)會使用xinetd和TCP Wappers配置訪問控制。學(xué)會實施作業(yè)控制。學(xué)會安排用戶自己的cron任務(wù)。
37、學(xué)會安排系統(tǒng)的cron任務(wù)。2022/7/1360進(jìn)一步學(xué)習(xí)學(xué)習(xí) DenyHosts的安裝、配置和使用。學(xué)習(xí) anacron 守護(hù)進(jìn)程的作用及配置方法。學(xué)習(xí)使用at命令安排一次性任務(wù)。2022/7/1361TCP Wrappers 的應(yīng)用對配置文件 /etc/hosts.allow 和 /etc/hosts.deny 的修改立即生效可以對網(wǎng)絡(luò)服務(wù)實現(xiàn)實時地動態(tài)地保護(hù)DenyHosts/在 RPMForge和EPEL倉庫中均有提供Fail2ban/在 RPMForge和EPEL倉庫中均有提供2022/7/1362ANACRON任務(wù)2022/7/1363crond 和 anacroncrond 假
38、定服務(wù)器是 24*7 全天候運(yùn)行的,當(dāng)系統(tǒng)時間變化或有一段關(guān)機(jī)時間就會遺漏這一時間段應(yīng)該執(zhí)行的cron任務(wù)。anacron(anachronistic cron) 是 crond 的一個連續(xù)時間版本,它運(yùn)行計算機(jī)關(guān)機(jī)時 crond 沒有運(yùn)行的任務(wù)。用于筆記本電腦、臺式機(jī)、工作站等不一直開機(jī)的系統(tǒng)對偶爾要關(guān)機(jī)的服務(wù)器也很有用若服務(wù)器24*7 全天候運(yùn)行,無需開啟anacron守護(hù)進(jìn)程每個用戶都可以安排自己的 cron 任務(wù)。超級用戶可以管理系統(tǒng)的 cron 任務(wù)和 anacron 任務(wù)。 2022/7/1364系統(tǒng)的 anacron 任務(wù)anacron 在 /var/spool/anacron 中保留時間戳文件,記錄作業(yè)運(yùn)行的時間。當(dāng) anacron 運(yùn)行時,它檢查自作業(yè)上一次運(yùn)行以來是否已經(jīng)經(jīng)過了所需的天數(shù),如果需要,就運(yùn)行作業(yè)。 anacron 的任務(wù)表存儲在 /etc/anacrontab 文件中。2022/7/1365anacron的配置文件/etc/anacrontab 詳情參見 man 5 anacrontab每一行由4個字段組成period delay job-identifier c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銅陵2025年安徽銅陵郊區(qū)周潭鎮(zhèn)招聘鄉(xiāng)村振興專干和村級后備干部5人筆試歷年參考題庫附帶答案詳解
- 貴州2025年貴州六盤水師范學(xué)院招聘3人筆試歷年參考題庫附帶答案詳解
- 福建2025年福建師范大學(xué)招聘具有博士學(xué)位教學(xué)科研輔助等崗位工作人員4人筆試歷年參考題庫附帶答案詳解
- 白銀2025年甘肅白銀市靖遠(yuǎn)縣公安局招聘輔警30人筆試歷年參考題庫附帶答案詳解
- 甘肅2025年甘肅省地礦局所屬事業(yè)單位引進(jìn)高層次人才5人筆試歷年參考題庫附帶答案詳解
- 濰坊2025年山東濰坊市精神衛(wèi)生中心高層次人才和急需緊缺專業(yè)人才招聘12人筆試歷年參考題庫附帶答案詳解
- 濰坊2025年山東濰坊市精神衛(wèi)生中心校園招聘17人筆試歷年參考題庫附帶答案詳解
- 安徽省阜陽市潁州區(qū)阜陽市第三中學(xué)2024-2025學(xué)年高二上學(xué)期1月期末英語試題(原卷版)
- 食堂每日出入庫明細(xì)登記表模板
- 醫(yī)療健康行業(yè)的市場規(guī)模測算
- 2024江蘇鹽城市交通投資建設(shè)控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2024年財政部會計法律法規(guī)答題活動題目及答案一
- 《冠心病》課件(完整版)
- DZ/T 0462.3-2023 礦產(chǎn)資源“三率”指標(biāo)要求 第3部分:鐵、錳、鉻、釩、鈦(正式版)
- 2024年南京交通職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- (完整word版)關(guān)于印發(fā)寧波市初中階段學(xué)生綜合素質(zhì)評價實施意見
- 標(biāo)志標(biāo)牌安裝實施方案(完整版)
- 汽車空調(diào)蒸發(fā)器的環(huán)保型耐蝕親水處理工藝
- 關(guān)于輪胎產(chǎn)品強(qiáng)制性認(rèn)證執(zhí)行新版標(biāo)準(zhǔn)
- 附2生產(chǎn)現(xiàn)場5S管理考核辦法
- 水資源可供水量與供需平衡分析
評論
0/150
提交評論