版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
項目7進程與服務(wù)管理麒麟操作系統(tǒng)應(yīng)用活頁式教程學(xué)習(xí)目標(biāo)?知識目標(biāo)1.了解進程的特點及作用、進程的分類、進程狀態(tài)的轉(zhuǎn)換2.掌握服務(wù)的特點、服務(wù)的分類3.掌握進程的查看方法、進程管理命令、進程優(yōu)先級的調(diào)整方法4.掌握服務(wù)的查看方法及服務(wù)啟動與自啟動方法? 能力目標(biāo)1.能夠查看系統(tǒng)中運行的進程,判斷服務(wù)器的健康狀態(tài)2.能夠通過命令及時結(jié)束不需要的進程,調(diào)整進程的優(yōu)先級3.能夠掌握服務(wù)的分類,并使用命令啟動與自啟動服務(wù)
?素養(yǎng)目標(biāo)1.培養(yǎng)知識遷移能力、強化創(chuàng)新思維2.加強信息意識,提升信息應(yīng)用能力3.提高嚴(yán)謹(jǐn)?shù)囊?guī)范意識及職業(yè)素養(yǎng)任務(wù)1認(rèn)識進程與服務(wù)contents目錄任務(wù)2進程管理任務(wù)3服務(wù)管理任務(wù)1認(rèn)識進程與服務(wù)使用系統(tǒng)監(jiān)視器查看進程使用ps命令查看進程使用top命令動態(tài)查看進程任務(wù)流程使用pstree命令查看進程關(guān)系任務(wù)1認(rèn)識進程與服務(wù)步驟1:使用系統(tǒng)監(jiān)視器查看進程。選擇“開始”→“常用軟件”→“系統(tǒng)監(jiān)視器”命令,從“開始”菜單進入系統(tǒng)監(jiān)視器,如圖7-1所示?;蛘咴谧烂嫒蝿?wù)欄處右擊,在彈出的快捷菜單中選擇“系統(tǒng)監(jiān)視器”命令進入系統(tǒng)監(jiān)視器,如圖7-2所示。進入系統(tǒng)監(jiān)視器后,可以看到進程的狀態(tài)、CPU占用率、優(yōu)先級、PID、占用內(nèi)存大小等信息,“系統(tǒng)監(jiān)視器”界面如圖7-3所示。任務(wù)1認(rèn)識進程與服務(wù)步驟1:使用系統(tǒng)監(jiān)視器查看進程。任務(wù)1認(rèn)識進程與服務(wù)圖7-1從“開始”菜單進入系統(tǒng)監(jiān)視器圖7-2通過快捷菜單命令進入系統(tǒng)監(jiān)視器步驟1:使用系統(tǒng)監(jiān)視器查看進程。任務(wù)1認(rèn)識進程與服務(wù)圖7-3“系統(tǒng)監(jiān)視器”界面
知識鏈接:1.認(rèn)識進程麒麟操作系統(tǒng)中進程管理的主要目的和Windows操作系統(tǒng)中進程管理的主要目的是一樣的,即查看操作系統(tǒng)中運行的程序和進程、判斷服務(wù)器的健康狀態(tài)并強制終止不需要的進程。進程是正在執(zhí)行的一個程序或命令,每個進程都是一個運行的實體,都有自己的地址空間,并占用一定的系統(tǒng)資源。程序是用戶使用計算機語言編寫的、可以實現(xiàn)特定目標(biāo)或解決特定問題的代碼集合。程序是存儲在磁盤上包含可執(zhí)行機器指令和數(shù)據(jù)的靜態(tài)實體,而進程是在操作系統(tǒng)中執(zhí)行特定任務(wù)的動態(tài)實體。一個程序允許有多個進程,而每個運行中的程序至少由一個進程組成。作為一個多用戶、多任務(wù)的操作系統(tǒng),麒麟操作系統(tǒng)中的每個進程都是彼此獨立的,都有自己獨立的權(quán)限與職責(zé)。用戶的程序不會干擾其他用戶的程序或者操作系統(tǒng)本身。進程間存在并列關(guān)系,還存在父進程和子進程的關(guān)系,這種進程間的父子關(guān)系實際上是管理和被管理的關(guān)系。當(dāng)父進程終止時,子進程也隨之終止;但當(dāng)子進程終止時,父進程并不一定終止。例如,當(dāng)www服務(wù)器運行httpd時,其子進程終止,而父進程并不會因為子進程的終止而終止。任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:2.進程管理的作用進程管理的作用和Windows操作系統(tǒng)中任務(wù)管理器的非常類似,主要有以下3種。1)判斷服務(wù)器的運行狀態(tài)運維工程師最主要的工作就是保證服務(wù)器安全、穩(wěn)定地運行。進程管理最主要的工作就是判斷服務(wù)器當(dāng)前運行狀態(tài)是否健康,在服務(wù)器出現(xiàn)問題時,需要人為干預(yù)解決問題。2)查看操作系統(tǒng)中所有的進程通過查看操作系統(tǒng)中所有正在運行的進程,可以判斷操作系統(tǒng)中運行了哪些服務(wù)、是否有非法服務(wù)在運行。3)終止進程這是進程管理中最不常用的手段。當(dāng)需要終止進程時,會通過正確關(guān)閉手段來結(jié)束進程。只有在正確結(jié)束進程的手段失效的情況下,才會考慮使用kill命令終止進程。任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:3.認(rèn)識服務(wù)系統(tǒng)服務(wù)是運行在后臺,且長期運行在內(nèi)存中的進程,它可以提供一些本地操作系統(tǒng)或網(wǎng)絡(luò)的功能。我們把實現(xiàn)這些功能的應(yīng)用程序稱作服務(wù)(Service)。服務(wù)是系統(tǒng)啟動之后一直存在、常駐內(nèi)存的進程,而守護進程(Daemon)就是為了實現(xiàn)服務(wù)功能的進程,有時可以把服務(wù)與守護進程等同起來。服務(wù)的本質(zhì)就是進程,由于其通常都會監(jiān)聽某個端口,等待其他程序的請求,如MySQL、sshd、防火墻等,因此我們又稱其為守護進程。任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:4.服務(wù)的分類按照服務(wù)安裝方式,服務(wù)可以分為兩種。 使用deb、RPM包安裝的服務(wù):服務(wù)的安裝位置在deb、RPM包設(shè)定好的目錄下。這些包啟動的服務(wù)通常會加入系統(tǒng)服務(wù)目錄,通過service、systemctl等配合參數(shù)可以啟動(如systemctlstartmysqld)。 使用源碼包編譯安裝的服務(wù):可以手動指定安裝目錄。源碼包安裝的服務(wù)默認(rèn)需要使用啟動腳本文件的絕對路徑配合參數(shù)來啟動(如/usr/local/nginx/sbin/nginxstart)。5.服務(wù)的狀態(tài)服務(wù)的狀態(tài)有兩種:一種是啟用的服務(wù),也就是服務(wù)正在運行中active(running);還有一種是未啟用的服務(wù),也就是服務(wù)處于關(guān)閉停止?fàn)顟B(tài)inactive(dead)。任務(wù)1認(rèn)識進程與服務(wù)步驟2:使用ps命令查看進程。1.查看所有用戶的進程信息使用如下命令查看所有終端上所有用戶有關(guān)進程的信息,顯示結(jié)果如圖7-4所示。psaux
圖7-4使用“psaux”命令的顯示結(jié)果任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:1.ps命令ps是最常用的監(jiān)控進程的命令,通過此命令可以查看系統(tǒng)中所有運行進程的詳細(xì)信息。根據(jù)顯示的信息可以確定哪個進程正在運行、哪個進程被掛起、進程已運行多長時間、進程正在使用的資源、進程的相對優(yōu)先級,以及進程標(biāo)識符(PID)等信息。ps命令的格式如下。ps[選項]常用選項如下。
-a:顯示系統(tǒng)中與tty相關(guān)的(除了會話組長)所有進程的信息。
-e:顯示所有進程的信息。
-f:顯示進程的所有信息。
-l:以長格式顯示進程信息。
-r:只顯示正在運行的進程。
-u:顯示面向用戶的格式(包括用戶名、CPU及內(nèi)存使用情況等信息)。
-x:顯示所有非控制終端上的進程信息。
--pid:顯示由進程ID指定的進程信息。
--tty:顯示指定終端上的進程信息。任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:2.進程的分類根據(jù)進程的特點,可以把進程分為3類:交互進程、批處理進程和守護進程。(1)交互進程:是由Shell啟動的進程,它既可以在前臺運行,又可以在后臺運行。交互進程在執(zhí)行過程中要求與用戶進行交互操作。簡單來說,就是用戶需要給出某些參數(shù)或者信息,進程才能繼續(xù)執(zhí)行。(2)批處理進程:與Windows操作系統(tǒng)原來的批處理十分類似,是一個進程序列。該進程負(fù)責(zé)按照順序啟動其他進程。(3)守護進程:是執(zhí)行特定功能或者執(zhí)行系統(tǒng)相關(guān)任務(wù)的后臺進程。守護進程只是一個特殊的進程,不是內(nèi)核的組成部分。許多守護進程在系統(tǒng)啟動時啟動,直到系統(tǒng)關(guān)閉時才停止運行。而某些守護進程只在需要時啟動,如FTP或者Apache服務(wù)等。任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:根據(jù)進程狀態(tài)的不同,又可以把進程分為另外3類:守護進程、孤兒進程和僵尸進程。(1)守護進程:所有守護進程都可以超級用戶(用戶ID為0)的優(yōu)先權(quán)運行,守護進程沒有控制終端,其父進程都是systemd進程(即1號進程)。(2)孤兒進程:一個父進程退出后,它的一個或多個子進程還在運行,那么這些子進程將成為孤兒進程。孤兒進程會被systemd進程收養(yǎng),并由systemd進程對它們完成狀態(tài)收集工作。(3)僵尸進程:一個子進程結(jié)束但是沒有完全釋放內(nèi)存,該進程將成為僵尸進程。當(dāng)僵尸進程的父進程結(jié)束后,該僵尸進程會被systemd進程收養(yǎng),最終被回收。僵尸進程會導(dǎo)致資源的浪費,而孤兒進程不會。任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:3.進程的狀態(tài)通常在操作系統(tǒng)中,進程至少有3種基本狀態(tài),分別為運行狀態(tài)、就緒狀態(tài)和封鎖狀態(tài)。(1)運行狀態(tài):是指當(dāng)前進程已被分配到CPU中,它的程序正在處理器上執(zhí)行時的狀態(tài)。處于這種狀態(tài)的進程數(shù)目不能大于CPU的數(shù)目。在一般單CPU機制中,任何時刻處于運行狀態(tài)的進程至多有一個。(2)就緒狀態(tài):是指進程已具備運行條件,但因為其他進程正在占用CPU,所以暫時不能運行而等待被分配CPU的狀態(tài)。一旦把CPU分配給它,就可立即運行。在操作系統(tǒng)中,處于就緒狀態(tài)的進程數(shù)目可以是多個的。(3)封鎖狀態(tài):是指進程因等待某種事件發(fā)生(例如,等待某一輸入、輸出操作完成,或者等待其他進程發(fā)來的信號等)而暫時不能運行的狀態(tài)。也就是說,處于封鎖狀態(tài)的進程尚不具備運行條件,即使CPU空閑,它也無法使用(這種狀態(tài)有時也被稱為不可運行狀態(tài)或掛起狀態(tài))。在操作系統(tǒng)中,處于這種狀態(tài)的進程數(shù)目也可以是多個的。任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:進程的狀態(tài)可依據(jù)一定的條件和原因而變化。一個運行的進程可因某種條件未滿足而放棄CPU,變?yōu)榉怄i狀態(tài)。當(dāng)以后條件得到滿足時,它又變?yōu)榫途w狀態(tài)。僅當(dāng)CPU被釋放時才從就緒狀態(tài)進程中挑選一個合適的進程去運行,被選中的進程從就緒狀態(tài)變?yōu)檫\行狀態(tài)。進程的狀態(tài)及其變化示意圖如圖7-5所示。挑選進程、分配CPU的工作是由進程調(diào)度程序完成的。另外,在麒麟操作系統(tǒng)中進程(Process)和任務(wù)(Task)是同一個意思。
圖7-5進程的狀態(tài)及其變化示意圖任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:在麒麟操作系統(tǒng)中,進程主要有以下4種狀態(tài),進程狀態(tài)表如表7-1所示。(1)可運行狀態(tài):此時進程正在運行(即系統(tǒng)的當(dāng)前進程)或者準(zhǔn)備運行(即進行處于就緒狀態(tài))。(2)等待狀態(tài):此時進程在等待一個事件的發(fā)生或某種系統(tǒng)資源。麒麟操作系統(tǒng)中有兩種等待進程,分別為可中斷的和不可中斷的。可中斷的等待進程可以被某一信號中斷;而不可中斷的等待進程不受信號的打擾,將一直等待硬件狀態(tài)的改變。(3)僵化狀態(tài):此時進程由于某些原因被終止,但是該進程的控制結(jié)構(gòu)task_struct仍然保留著。(4)停止?fàn)顟B(tài):此時進程通常通過接收一個信號被停止。正在被調(diào)試的進程可能處于停止?fàn)顟B(tài)。任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:任務(wù)1認(rèn)識進程與服務(wù)表7-1進程狀態(tài)表狀態(tài)英文含義可運行狀態(tài)Runnable進程可以被執(zhí)行等待狀態(tài)Sleeping進程正在等待某種系統(tǒng)資源僵化狀態(tài)Zombie進程試圖消亡停止?fàn)顟B(tài)Stopped進程被掛起(不允許執(zhí)行)
知識鏈接:任務(wù)1認(rèn)識進程與服務(wù)表7-2“psaux”命令的輸出含義4.“psaux”命令的輸出含義“psaux”命令的輸出含義如表7-2所示。表頭含義USER該進程是由哪個用戶產(chǎn)生的PID進程的ID%CPU該進程占用CPU資源的百分比。占用的百分比越高,進程越耗費資源%MEM該進程占用物理內(nèi)存的百分比。占用的百分比越高,進程越耗費資源VSZ該進程占用虛擬內(nèi)存的大小,單位為KBRSS該進程占用實際物理內(nèi)存的大小,單位為KBTTY該進程是在哪個終端運行的。其中,tty1~tty7代表本地控制臺終端(可以通過快捷鍵“Alt+F1”~快捷鍵“Alt+F7”切換不同的終端),tty1~tty6是本地的字符界面終端,tty7是圖形終端。pts/0~pts/255代表虛擬終端,一般是遠程連接的終端,第一個遠程連接占用pts/0,第二個遠程連接占用pts/1,以此類推
知識鏈接:任務(wù)1認(rèn)識進程與服務(wù)表7-2“psaux”命令的輸出含義4.“psaux”命令的輸出含義“psaux”命令的輸出含義如表7-2所示。表頭含義STAT進程狀態(tài)。常見的狀態(tài)有以下幾種。-D:不可被喚醒的睡眠狀態(tài),通常用于I/O情況。-R:該進程正在運行。-S:該進程處于睡眠狀態(tài),可被喚醒。-T:該進程處于停止?fàn)顟B(tài),可能是進程在后臺暫停或處于除錯狀態(tài)。-W:該進程處于內(nèi)存交互狀態(tài)(從2.6內(nèi)核開始無效)。-X:死掉的進程(應(yīng)該不會出現(xiàn))。-Z:僵尸進程。進程已經(jīng)中止,但是部分程序還在內(nèi)存當(dāng)中。-<:高優(yōu)先級(以下狀態(tài)在BSD格式中出現(xiàn))。
知識鏈接:任務(wù)1認(rèn)識進程與服務(wù)表7-2“psaux”命令的輸出含義4.“psaux”命令的輸出含義“psaux”命令的輸出含義如表7-2所示。表頭含義STAT-N:低優(yōu)先級。-L:被鎖入內(nèi)存。-s:包含子進程。-l:多線程。-+:位于后臺START該進程的啟動時間TIME該進程占用CPU的運算時間,注意不是系統(tǒng)時間COMMAND產(chǎn)生此進程的命令名USER該進程是由哪個用戶產(chǎn)生的步驟2:使用ps命令查看進程。2.查看系統(tǒng)中所有進程的全部信息使用如下命令查看系統(tǒng)中所有進程的全部信息,如父進程的PID、進程優(yōu)先級等,顯示結(jié)果如圖7-6所示。ps-le
圖7-6使用“ps-le”命令的顯示結(jié)果任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:“ps-le”命令輸出含義?!皃s-le”命令的輸出含義如表7-3所示。任務(wù)1認(rèn)識進程與服務(wù)表7-3“ps-le”命令的輸出含義表頭含義F進程標(biāo)志,說明進程的權(quán)限,常見的標(biāo)志有兩個。1:進程可以被復(fù)制,但是不能被執(zhí)行;4:進程使用超級用戶權(quán)限S進程狀態(tài)。具體的狀態(tài)和“psaux”命令中的STAT狀態(tài)一致UID運行此進程的用戶的IDPID進程的ID
知識鏈接:“ps-le”命令輸出含義?!皃s-le”命令的輸出含義如表7-3所示。任務(wù)1認(rèn)識進程與服務(wù)表7-3“ps-le”命令的輸出含義表頭含義PPID父進程的IDC該進程的CPU使用率,使用百分比來表示PRI進程的優(yōu)先級。數(shù)值越小,該進程的優(yōu)先級越高,越早被CPU執(zhí)行NI進程的優(yōu)先級。數(shù)值越小,該進程越早被執(zhí)行ADDR該進程在內(nèi)存的哪個位置SZ該進程占用多大內(nèi)存WCHAN該進程是否運行。“-”代表正在運行TTY該進程由哪個終端產(chǎn)生TIME該進程占用CPU的運算時間,注意不是系統(tǒng)時間CMD產(chǎn)生此進程的命令名步驟2:使用ps命令查看進程。3.查看當(dāng)前登錄用戶產(chǎn)生的進程使用如下命令查看當(dāng)前登錄用戶產(chǎn)生的進程,顯示結(jié)果如圖7-7所示??梢钥闯?,目前從pts/0虛擬終端登錄只產(chǎn)生了兩個進程,一個是登錄之后生成的Shell,也就是bash;另一個是正在執(zhí)行的ps命令。ps-l
圖7-7使用“ps-l”命令的顯示結(jié)果任務(wù)1認(rèn)識進程與服務(wù)步驟3:使用top命令動態(tài)查看進程。使用如下命令動態(tài)查看系統(tǒng)進程及狀態(tài),顯示結(jié)果如圖7-8所示。top
圖7-8使用top命令的顯示結(jié)果任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:top命令。ps命令可以一次性給出當(dāng)前系統(tǒng)中的進程狀態(tài),但使用此命令得到的信息缺乏時效性。同時,如果管理員需要實時監(jiān)控進程的運行情況,則必須不停地執(zhí)行ps命令,這顯然是缺乏效率的。top命令和ps命令的基本作用是相同的,用于顯示系統(tǒng)當(dāng)前的進程及其狀態(tài),但是使用top命令是一個動態(tài)顯示過程,用戶可以通過按鍵來不斷刷新當(dāng)前狀態(tài)。如果在前臺執(zhí)行,則該命令將獨占前臺,直到用戶終止該進程為止。top命令的格式如下。top[選項]任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:常用選項如下。
-b:使用批處理模式。
-c:在進程列表中顯示完整的命令行信息。
-i:在執(zhí)行top命令時,忽略閑置或是已成為Zombie的程序。
-q:持續(xù)監(jiān)控程序執(zhí)行的狀況。
-s:使用保密模式,消除互動模式下的潛在危機。
-S:在進程列表中顯示累計的CPU時間。
-d:指定top命令更新的時間間隔(秒),默認(rèn)是3秒。
-u:指定顯示某個用戶的進程。top命令的輸出內(nèi)容是動態(tài)的,默認(rèn)每隔3秒刷新一次。top命令的輸出主要分為兩部分。第一部分是前5行,顯示的是整個系統(tǒng)的資源使用狀況信息,可以通過這些信息來判斷服務(wù)器的資源使用狀態(tài);第二部分從第6行開始,顯示的是系統(tǒng)中進程的信息。以圖7-8為例,表7-4所示為top命令第一部分輸出內(nèi)容說明,表7-5所示為top命令第二部分輸出內(nèi)容說明。任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:任務(wù)1認(rèn)識進程與服務(wù)表7-4top命令第一部分輸出內(nèi)容說明位置含義內(nèi)容說明1任務(wù)隊列信息19:47:33系統(tǒng)的當(dāng)前時間up1min系統(tǒng)的運行時間2users當(dāng)前登錄了兩個用戶任務(wù)隊列信息loadaverage:1.36,0.71,0.27系統(tǒng)在前1分鐘、5分鐘、15分鐘的平均負(fù)載。如果CPU是單核的,則這個數(shù)值超過1就是高負(fù)載;如果CPU是四核的,則這個數(shù)值超過4就是高負(fù)載(平均負(fù)載完全是依據(jù)個人經(jīng)驗來進行判斷的,一般認(rèn)為不應(yīng)該超過服務(wù)器CPU的核數(shù))2進程信息Tasks:203total系統(tǒng)中的進程總數(shù)2running正在運行的進程數(shù)201sleeping睡眠的進程數(shù)0stopped正在停止的進程數(shù)0zombie僵尸進程數(shù)。如果不是0,則需要手動檢查僵尸進程
知識鏈接:任務(wù)1認(rèn)識進程與服務(wù)表7-4top命令第一部分輸出內(nèi)容說明位置含義內(nèi)容說明1任務(wù)隊列信息19:47:33系統(tǒng)的當(dāng)前時間up1min系統(tǒng)的運行時間2users當(dāng)前登錄了兩個用戶任務(wù)隊列信息loadaverage:1.36,0.71,0.27系統(tǒng)在前1分鐘、5分鐘、15分鐘的平均負(fù)載。如果CPU是單核的,則這個數(shù)值超過1就是高負(fù)載;如果CPU是四核的,則這個數(shù)值超過4就是高負(fù)載(平均負(fù)載完全是依據(jù)個人經(jīng)驗來進行判斷的,一般認(rèn)為不應(yīng)該超過服務(wù)器CPU的核數(shù))2進程信息Tasks:203total系統(tǒng)中的進程總數(shù)2running正在運行的進程數(shù)201sleeping睡眠的進程數(shù)0stopped正在停止的進程數(shù)0zombie僵尸進程數(shù)。如果不是0,則需要手動檢查僵尸進程
知識鏈接:任務(wù)1認(rèn)識進程與服務(wù)表7-4top命令第一部分輸出內(nèi)容說明位置含義內(nèi)容說明3CPU信息%Cpu(s):2.3us用戶模式占用的CPU百分比1.3sy系統(tǒng)模式占用的CPU百分比0.0ni改變過優(yōu)先級的用戶進程占用的CPU百分比96.3id空閑CPU占用的CPU百分比0.0wa等待輸入/輸出的進程占用的CPU百分比0.0hi硬中斷請求服務(wù)占用的CPU百分比0.0si軟中斷請求服務(wù)占用的CPU百分比0.0stst(stealtime)意為虛擬時間百分比,表示當(dāng)有虛擬機時,虛擬CPU等待實際CPU的時間百分比4物理內(nèi)存信息MiBMem:915.3total物理內(nèi)存的總量,單位為MiB67.9free空閑的物理內(nèi)存數(shù)量。我們使用的是虛擬機,共分配了915.3MB內(nèi)存,所以只有67.9MB的空閑內(nèi)存624.5used已經(jīng)使用的物理內(nèi)存數(shù)量222.9buff/cache作為緩沖的內(nèi)存數(shù)量5交換分區(qū)信息MiBSwap:2048.0total交換分區(qū)(虛擬內(nèi)存)的總大小1939.0free空閑交換分區(qū)的大小109.0used已經(jīng)使用的交換分區(qū)的大小135.9availMem可使用內(nèi)存的大小
知識鏈接:任務(wù)1認(rèn)識進程與服務(wù)表7-5top命令第二部分輸出內(nèi)容說明表頭說明PID進程的IDUSER該進程所屬的用戶PR進程的調(diào)度優(yōu)先級,數(shù)值越低表示優(yōu)先級越高。它的取值范圍是-20(最高優(yōu)先級)~+19(最低優(yōu)先級)NI進程的Nice值,用于調(diào)整進程在CPU競爭中的優(yōu)先級。它的取值范圍是-20~+19,默認(rèn)值是0。較高的Nice值表示較低的優(yōu)先級,即進程會更少地占用CPU資源VIRT該進程使用的虛擬內(nèi)存的大小,單位為KBRES該進程使用的物理內(nèi)存的大小,單位為KBSHR共享內(nèi)存的大小,單位為KBS進程狀態(tài)%CPU該進程占用CPU的百分比%MEM該進程占用內(nèi)存的百分比TIME+該進程共占用的CPU時間COMMAND進程的命令名
知識鏈接:任務(wù)1認(rèn)識進程與服務(wù)通過top命令的第一部分就可以判斷服務(wù)器的健康狀態(tài)。如果前1分鐘、5分鐘、15分鐘的平均負(fù)載高于1,則證明系統(tǒng)壓力較大。如果CPU的使用率過高或空閑率過低,則證明系統(tǒng)壓力較大。如果物理內(nèi)存的空閑內(nèi)存過小,則也證明系統(tǒng)壓力較大。根據(jù)上面的輸出就可以判斷是什么進程占用了系統(tǒng)資源。如果是不必要的進程,則應(yīng)該結(jié)束這些進程;如果是必要的進程,則應(yīng)該增加服務(wù)器資源(如增加虛擬機內(nèi)存),或者建立集群服務(wù)器。
知識鏈接:在麒麟操作系統(tǒng)中,進程主要有以下4種狀態(tài),進程狀態(tài)表如表7-1所示。(1)可運行狀態(tài):此時進程正在運行(即系統(tǒng)的當(dāng)前進程)或者準(zhǔn)備運行(即進行處于就緒狀態(tài))。(2)等待狀態(tài):此時進程在等待一個事件的發(fā)生或某種系統(tǒng)資源。麒麟操作系統(tǒng)中有兩種等待進程,分別為可中斷的和不可中斷的??芍袛嗟牡却M程可以被某一信號中斷;而不可中斷的等待進程不受信號的打擾,將一直等待硬件狀態(tài)的改變。(3)僵化狀態(tài):此時進程由于某些原因被終止,但是該進程的控制結(jié)構(gòu)task_struct仍然保留著。(4)停止?fàn)顟B(tài):此時進程通常通過接收一個信號被停止。正在被調(diào)試的進程可能處于停止?fàn)顟B(tài)。任務(wù)1認(rèn)識進程與服務(wù)經(jīng)驗分享:緩存(Cache)和緩沖(Buffer)的區(qū)別。緩存(Cache)是在讀取硬盤中的數(shù)據(jù)時,把最常用的數(shù)據(jù)保存在內(nèi)存的緩存區(qū)中,當(dāng)再次讀取該數(shù)據(jù)時,就不去硬盤中讀取了,而在緩存中讀取。緩沖(Buffer)是在向硬盤寫入數(shù)據(jù)時,先把數(shù)據(jù)放入緩沖區(qū),再一起向硬盤寫入,把分散的寫操作集中進行,減少磁盤碎片和硬盤的反復(fù)尋道,從而提高系統(tǒng)性能。任務(wù)1認(rèn)識進程與服務(wù)步驟4:使用pstree命令查看進程關(guān)系。使用如下命令以樹狀結(jié)構(gòu)顯示程序和進程之間的關(guān)系,系統(tǒng)進程樹如圖7-9所示??梢钥闯?,進程以樹狀結(jié)構(gòu)顯示,其中根節(jié)點是systemd進程,進程的PID是1。其他進程按照其父進程和子進程的關(guān)系依次排列。pstree
圖7-9系統(tǒng)進程樹任務(wù)1認(rèn)識進程與服務(wù)
知識鏈接:pstree命令。pstree命令用于顯示進程樹或相關(guān)的進程列表。pstree命令通常與top、ps等命令一起使用,用于查看系統(tǒng)中的進程和它們之間的關(guān)系,并且該命令可以以樹狀結(jié)構(gòu)顯示進程。在默認(rèn)情況下,可以使用pstree命令顯示當(dāng)前用戶的所有進程,也可以使用-u選項指定要輸出的用戶名稱。pstree命令的格式如下。pstree[選項]常用選項如下。
-p:以數(shù)字PID的形式輸出進程的ID。
-u:指定要輸出的用戶名稱。
-a:以ASCII字符的形式輸出進程的參數(shù)。
-l:除了命令行參數(shù),還顯示進程的完整線程信息。
-n:不進行裝飾,以緊湊的形式輸出樹狀結(jié)構(gòu)。
-h:不顯示該進程的父進程。任務(wù)1認(rèn)識進程與服務(wù)任務(wù)2
進程管理任務(wù)2進程管理查看進程的子進程的PID結(jié)束進程重啟進程任務(wù)流程調(diào)整進程的優(yōu)先級步驟1:查看進程的子進程的PID。使用如下命令查看httpd進程樹,確認(rèn)結(jié)束進程(1191)的子進程PID為3016,如圖7-10所示。pstree–p任務(wù)2進程管理
知識鏈接:知識鏈接:PID。PID是進程標(biāo)識符(ProcessIdentifier)的縮寫,它是操作系統(tǒng)中用于唯一標(biāo)識每個正在運行的進程的一個數(shù)字,每個進程都有一個唯一的PID。PID是由操作系統(tǒng)分配給每個進程的,它可以用于跟蹤和管理進程。通過PID,操作系統(tǒng)可以識別特定的進程,并針對它執(zhí)行各種操作,如啟動、終止、掛起、恢復(fù)等。任務(wù)2進程管理圖7-10查看httpd進程樹
知識鏈接:PID的作用如下。(1)調(diào)試:可以使用PID來識別進程并執(zhí)行調(diào)試操作,如附加調(diào)試器、觀察變量等。(2)進程管理:可以使用PID來執(zhí)行啟動、終止、掛起、恢復(fù)進程等操作。(3)資源控制:可以使用PID來限制進程對系統(tǒng)資源的訪問,如CPU時間、內(nèi)存等。需要注意的是,由于PID是動態(tài)分配的,當(dāng)進程終止后,其PID可能會被其他新進程重新使用,因此在使用PID時需要確保它指向正確的進程。任務(wù)2進程管理經(jīng)驗分享:1.查看進程的PID如果要查看進程的PID,則可以使用如下命令。ps-ef|grep<進程名>如果要查看httpd進程的PID,則可以使用如下命令。ps-ef|grephttpd2.查看進程的子進程PID使用pstree命令可以顯示進程樹,包括父進程和子進程的關(guān)系。在麒麟操作系統(tǒng)中使用pstree命令的-p選項來查看進程的子進程PID。任務(wù)2進程管理步驟2:結(jié)束進程。1.通過PID結(jié)束進程(1)使用如下命令結(jié)束PID為3016的進程并查看結(jié)果,發(fā)現(xiàn)httpd(3016)沒有被禁止,如圖7-11所示。kill3016pstree-p
圖7-11PID為3016的進程沒有被禁止任務(wù)2進程管理
知識鏈接:kill命令。kill就是用來結(jié)束進程的命令。它可以通過PID或進程名來識別要結(jié)束的進程,也可以根據(jù)不同的信號完成不同的操作。kill命令的格式如下。kill[選項]PID常用選項如下。
-s<SIGNAL>:指定結(jié)束進程的信號類型。常見的信號包括SIGTERM(默認(rèn),優(yōu)雅地中斷進程)、SIGKILL(強制中斷進程)等。
-l:列出可用的信號類型。kill命令只用于“發(fā)送”一個信號,只有當(dāng)信號被程序成功“捕獲”時,系統(tǒng)才會執(zhí)行kill命令指定的操作;反之,如果信號被“封鎖”或者“忽略”,則kill命令會失效。任務(wù)2進程管理步驟2:結(jié)束進程。1.通過PID結(jié)束進程(2)使用如下命令,強制結(jié)束進程并查看結(jié)果,如圖7-12所示,發(fā)現(xiàn)進程已被強制結(jié)束。kill-93016pstree-p
圖7-12強制結(jié)束進程并查看結(jié)果任務(wù)2進程管理
知識鏈接:進程信號。進程的管理主要是指進程的關(guān)閉與重啟。我們一般關(guān)閉或重啟軟件,都是關(guān)閉或重啟它的程序,而不是直接操作進程的。進程之間是可以相互控制的,如果想直接通過進程管理來關(guān)閉或重啟某個軟件,則這時就要依賴進程信號(Signal)了。其實就是通過給予進程一個信號,告知該進程你想要它做什么。常見的進程信號如表7-6所示。通常記住“1”“9”“15”這3個號碼的意義即可。任務(wù)2進程管理
知識鏈接:任務(wù)2進程管理表7-6常見的進程信號代號信號名稱說明1SIGHUP該信號讓進程立即關(guān)閉,并在重新讀取配置文件之后重啟2SIGINT程序中斷信號,用于中斷前臺進程。相當(dāng)于按快捷鍵“Ctrl+C”8SIGFPE在發(fā)生致命的算術(shù)運算錯誤時發(fā)出。不僅包括浮點運算錯誤,還包括溢出及除數(shù)為0等其他所有的算術(shù)運算錯誤9SIGKILL用來立即關(guān)閉程序的運行。本信號不能被阻塞、處理和忽略。一般用于強制中斷進程14SIGALRM時鐘定時信號,計算的是實際的時間或時鐘時間。alarm函數(shù)使用該信號15SIGTERM正常關(guān)閉進程的信號,kill命令的默認(rèn)信號。如果進程已經(jīng)出現(xiàn)了問題,那么這個信號是無法正常中斷進程的,這時我們才會嘗試SIGKILL信號,也就是信號918SIGCONT該信號可以讓暫停的進程恢復(fù)執(zhí)行。本信號不能被阻斷19SIGSTOP該信號可以暫停前臺進程,相當(dāng)于按快捷鍵“Ctrl+Z”。本信號不能被阻斷步驟2:結(jié)束進程。2.通過進程名結(jié)束進程(1)結(jié)束httpd進程之前使用如下命令查看進程httpd情況,如圖7-13所示。psaux|grep"httpd"|grep-v"grep"
圖7-13查看進程httpd情況(2)使用如下命令結(jié)束所有進程名為httpd的進程,并查看結(jié)果,發(fā)現(xiàn)進程已結(jié)束,如圖7-14所示。killallhttpdpsaux|grep"httpd"|grep-v"grep"
圖7-14進程名為httpd的進程已結(jié)束任務(wù)2進程管理經(jīng)驗分享:grep命令。使用grep命令查看httpd會生成包含“httpd”關(guān)鍵字的進程,所以使用-v選項反向選擇包含“grep”關(guān)鍵字的進程。任務(wù)2進程管理
知識鏈接:killall命令。killall命令用于結(jié)束與給定名稱相匹配的所有進程。它根據(jù)進程名而不是PID來結(jié)束進程。killall命令的格式如下。killall[選項][信號]進程名常用選項如下。
i:交互式,詢問是否要終止某個進程。
I:列出可用的信號類型。任務(wù)2進程管理步驟2:結(jié)束進程。3.結(jié)束交互式進程使用如下命令結(jié)束交互式進程firewalld,如圖7-15所示,出現(xiàn)詢問信息,輸入“y”,即可結(jié)束進程。killall–ifirewalld
圖7-15結(jié)束交互式進程任務(wù)2進程管理步驟2:結(jié)束進程。4.結(jié)束用戶(1)使用如下命令查看本機已經(jīng)登錄的用戶,如圖7-16所示。目前有3個用戶,其中使用w命令的是當(dāng)前用戶。W圖7-16查看本機已經(jīng)登錄的用戶(2)使用如下命令踢出其他用戶,如圖7-17所示。pkill-9–tpts/1
圖7-17踢出其他用戶任務(wù)2進程管理
知識鏈接:pkill命令。pkill命令和killall命令的用法相同,都是通過進程名或其他條件結(jié)束進程的。pkill命令的格式如下。pkill[選項]進程名常用選項如下。
-f:指定根據(jù)完整的命令行參數(shù)匹配進程名,而非僅匹配進程名部分。
-u<用戶名>:指定根據(jù)用戶名匹配進程。
-g<進程組>:指定根據(jù)進程組ID匹配進程。
-t<終端號>:指定根據(jù)終端號匹配進程。任務(wù)2進程管理步驟3:重啟進程。使用如下命令讓父進程httpd(1191)重啟,并查看結(jié)果,如圖7-18所示。重啟后,父進程httpd(1191)沒有變化,但子進程httpd的PID都更換了,說明父進程httpd(1191)已經(jīng)重啟了。kill-11191pstree–p
圖7-18重啟父進程httpd(1191)任務(wù)2進程管理步驟4:調(diào)整進程的優(yōu)先級。(1)使用如下命令先查看firewalld進程的優(yōu)先級,當(dāng)前優(yōu)先級為0;再修改firewalld進程的優(yōu)先級,將其優(yōu)先級提升5,提升后為-5,如圖7-19所示。ps-le|grep"firewalld"|grep-vgrepnice-n-5firewalld
圖7-19調(diào)整firewalld進程的優(yōu)先級任務(wù)2進程管理
知識鏈接:1.進程的優(yōu)先級進程的運行是在CPU上執(zhí)行的,每次只能執(zhí)行CPU的一個時間片,會有多個進程在run_Queue運行隊列上等待CPU的調(diào)度執(zhí)行。不同的進程先在run_Queue中等待CPU資源,并在CPU中執(zhí)行,再回到run_Queue中繼續(xù)等待CPU資源,這樣進程循環(huán)不斷地等待與執(zhí)行,就是進程運行的基本邏輯。進程在運行隊列中等待的過程,其本質(zhì)就是各個進程在排隊的過程。在進程排隊的過程中,衡量誰先領(lǐng)到CPU資源的標(biāo)準(zhǔn)是進程的優(yōu)先級。優(yōu)先級高的進程可以在運行隊列排隊過程中“優(yōu)先”領(lǐng)到CPU資源;而優(yōu)先級低的進程則會被“插隊”,相對靠后領(lǐng)到CPU資源。系統(tǒng)給予進程一個優(yōu)先級(priority,PRI),這個PRI值越低越優(yōu)先。不過RPI值是由內(nèi)核動態(tài)調(diào)整的,用戶無法直接調(diào)整PRI值。如果要調(diào)整進程的優(yōu)先級,就要通過另一個優(yōu)先級參數(shù)nice(NI)值,間接調(diào)整優(yōu)先級。一般來說PRI值與nice值的關(guān)系如下。任務(wù)2進程管理
知識鏈接:PRI(new)=PRI(old)+nice通過修改nice值可改變進程的優(yōu)先級。降低nice值,進程的PRI值就會降低,該進程就越優(yōu)先被CPU處理;反之,增加nice值,進程的PRI值就會增加,該進程就越靠后被CPU處理。需要注意的是,原來的PRI值是40,并不是我們給予一個值為4的nice,PRI值就會變?yōu)?4。因為PRI值是由系統(tǒng)動態(tài)決定的,nice值可以影響PRI值,但PRI最終數(shù)值還是由系統(tǒng)決定的。在調(diào)整nice值時有如下注意事項。(1)nice值范圍是-20~19。(2)普通用戶調(diào)整nice值的范圍是0~19,并且只能調(diào)整自己的進程。(3)普通用戶只能調(diào)高nice值,而不能降低nice值。如原本nice值為0,則只能調(diào)整其為大于0的值。(4)只有root用戶才能將進程nice值調(diào)整為負(fù)值,并且可以調(diào)整任何用戶的進程。任務(wù)2進程管理
知識鏈接:2.修改優(yōu)先級的命令給予某個進程nice值的方式有如下兩種。(1)一開始執(zhí)行進程就立即給定nice值,使用nice命令,其格式如下。nice[選項]命令常用選項如下。-n:NI值,給命令賦予NI值(2)調(diào)整某個已經(jīng)存在的PID的nice值,使用renice命令,其格式如下。renice[優(yōu)先級]PID任務(wù)2進程管理步驟4:調(diào)整進程的優(yōu)先級。(2)使用如下命令將已存在的、PID為3096進程的NI值修改為-10,并查看修改后的進程優(yōu)先級,如圖7-20所示。renice-103096ps-le|grep"firewalld"|grep-vgrep
圖7-20查看修改后的進程優(yōu)先級任務(wù)2進程管理任務(wù)3
服務(wù)管理任務(wù)3服務(wù)管理開啟與關(guān)閉服務(wù)查看服務(wù)狀態(tài)開啟服務(wù)自啟動任務(wù)流程管理系統(tǒng)單元組步驟1:開啟與關(guān)閉服務(wù)。(1)使用如下命令開啟防火墻服務(wù)并查看結(jié)果,如圖7-21所示。systemctlstartfirewalldpstree任務(wù)3服務(wù)管理
知識鏈接:服務(wù)管理。麒麟操作系統(tǒng)中的服務(wù)類似于Linux操作系統(tǒng)中的服務(wù),Linux服務(wù)按照安裝方法的不同可以分為RPM包默認(rèn)安裝的服務(wù)和源碼包安裝的服務(wù)兩大類。其中,RPM包默認(rèn)安裝的服務(wù)又因為啟動與自啟動管理方法的不同分為獨立的服務(wù)和基于xinetd的服務(wù)。服務(wù)分類的關(guān)系圖如圖7-22所示。
圖7-21開啟防火墻服務(wù)并查看結(jié)果任務(wù)3服務(wù)管理
知識鏈接:任務(wù)3服務(wù)管理圖7-22服務(wù)分類的關(guān)系圖
知識鏈接:1.RPM包默認(rèn)安裝的服務(wù)這些服務(wù)是通過RPM包安裝的,可以被服務(wù)管理命令識別。這些服務(wù)又可以分為兩種。(1)獨立的服務(wù):就是獨立啟動的意思,這種服務(wù)可以自行啟動,而不用依賴其他的管理服務(wù)。因為不依賴其他的管理服務(wù),所以當(dāng)客戶端請求訪問時,獨立的服務(wù)響應(yīng)請求速度更快。目前,Linux操作系統(tǒng)中的大多數(shù)服務(wù)都是獨立的服務(wù),如Apache服務(wù)、FTP服務(wù)、Samba服務(wù)等。(2)基于xinetd的服務(wù):這種服務(wù)就不能獨立啟動了,而要依靠管理服務(wù)來調(diào)用。這個負(fù)責(zé)管理的服務(wù)就是xinetd服務(wù)。xinetd服務(wù)是系統(tǒng)的超級守護進程,其作用就是管理不能獨立啟動的服務(wù)。當(dāng)有客戶端請求時,先請求xinetd服務(wù),由xinetd服務(wù)去喚醒相對應(yīng)的服務(wù)。當(dāng)客戶端請求結(jié)束后,被喚醒的服務(wù)會關(guān)閉并釋放資源。這樣做的好處是只需要持續(xù)啟動xinetd服務(wù),而其他基于xinetd的服務(wù)只有在需要時才被啟動,不會占用過多的服務(wù)器資源。但是這種服務(wù)由于在有客戶端請求時才會被啟動,因此響應(yīng)時間相對較長。任務(wù)3服務(wù)管理
知識鏈接:2.源碼包安裝的服務(wù)這些服務(wù)是通過源碼包安裝的,所以安裝位置都是手工指定的。由于不能被系統(tǒng)中的服務(wù)管理命令直接識別,因此這些服務(wù)的啟動與自啟動方法一般都是源碼包設(shè)計好的。每個源碼包的啟動腳本都不一樣,一般需要查看說明文檔才能確定。源碼包是開源的,自定義性強,通過編譯安裝更加適合系統(tǒng),但是安裝速度較慢,編譯時容易報錯。RPM包是經(jīng)過編譯的軟件包,安裝更快速,不容易報錯,但不是開源的。其實不管是RPM包,還是源碼包,只不過是初始安裝方式不一樣而已,如果已經(jīng)在Linux操作系統(tǒng)上安裝完成,那么啟動服務(wù)都是可以通過“/絕對路徑/啟動腳本名start”方式啟動的。任務(wù)3服務(wù)管理步驟1:開啟與關(guān)閉服務(wù)。(2)使用如下命令關(guān)閉防火墻服務(wù)并查看結(jié)果,如圖7-23所示。systemctlstopfirewalldpstree
圖7-23關(guān)閉防火墻服務(wù)并查看結(jié)果任務(wù)3服務(wù)管理
知識鏈接:systemctl命令。在麒麟操作系統(tǒng)中,服務(wù)管理命令為systemctl。該命令功能強大,管理方便,但也導(dǎo)致了systemctl體系龐大、非常復(fù)雜。啟動單元、自啟動單元、查看單元狀態(tài)、切換系統(tǒng)單元組都是使用systemctl命令完成的。systemctl命令的格式如下。systemctl[選項]單元名啟動單元的常用選項如下。
start:啟動單元。
stop:停止單元。
restart:重啟動單元。
reload:平滑重啟。就是在不關(guān)閉單元的情況下,重新加載配置文件,讓配置文件生效。、任務(wù)3服務(wù)管理
知識鏈接:systemctl命令。自啟動單元的常用選項如下。
enable:設(shè)置單元為開機自啟動。
disable:設(shè)置單元為禁止開機自啟動。查看單元狀態(tài)的常用選項如下。
status:查看單元狀態(tài),可以看到啟動與自啟動狀態(tài)。
is-active:查看單元是否啟動。
is-enabled:查看單元是否自啟動。任務(wù)3服務(wù)管理步驟2:查看服務(wù)狀態(tài)。使用如下命令查看防火墻服務(wù)的狀態(tài),輸出結(jié)果如圖7-24所示。systemctlstatusfirewalld
圖7-24查看防火墻服務(wù)的狀態(tài)輸出結(jié)果的第二行“Loaded:loaded(/usr/lib/systemd/system/firewalld.service;disabled;vendorpreset:enabled)”顯示的是服務(wù)的自啟動狀態(tài)。其中,“/usr/lib/systemd/system/firewalld.service;disabled;”是指當(dāng)前服務(wù)的自啟動狀態(tài),這里的“disabled”是指服務(wù)開機不自啟動;“vendorpreset:enabled”是指廠商預(yù)設(shè)值,并不干擾服務(wù)的正常狀態(tài)。任務(wù)3服務(wù)管理
知識鏈接:服務(wù)的自啟動狀態(tài)。服務(wù)的自啟動狀態(tài)主要有以下幾種。
enabled:自啟動,也就是服務(wù)在開機時會自動啟動。
disabled:禁止自啟動,也就是服務(wù)在開機時不會自動啟動。
static:靜態(tài)狀態(tài),也就是服務(wù)在開機時不會自動啟動,但是可以被其他服務(wù)喚醒,類似于Windows服務(wù)中的手動狀態(tài)。只有在服務(wù)的配置文件中沒有定義[Install]區(qū)域時,服務(wù)才可以處于static狀態(tài)。
mask:強制注銷服務(wù),處于這種狀態(tài)下的服務(wù)無法啟動,除非使用“systemctlunmask服務(wù)名”命令取消注銷狀態(tài)才能啟動。第三行“Active:active(running)sinceMon2022-11-2113:08:04CST;8minago”顯示的是單元的啟動狀態(tài),這里的“active(running)”表示單元已經(jīng)啟動。任務(wù)3服務(wù)管理
知識鏈接:服務(wù)的啟動狀態(tài)。服務(wù)的啟動狀態(tài)主要有以下幾種。
active(running):單元正在運行。常見的單元啟動狀態(tài)就是這種狀態(tài)。
active(exited):僅能執(zhí)行一次就結(jié)束的單元。不需要常駐內(nèi)存中的單元一般處于這種狀態(tài)。
active(waiting):正在等待運行的單元,需要等其他單元結(jié)束才能繼續(xù)運行。打印隊列單
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工離職協(xié)議模板
- 配電室維護協(xié)議書
- 權(quán)威加工合同范文合輯
- 大學(xué)新生入學(xué)法律協(xié)議范文
- 全面服裝代理合同范本
- 消防工程專業(yè)承包合同
- 廣告位承包協(xié)議范本
- 美術(shù)作品購買協(xié)議范本2024年
- 個人稅收居民證明委托申請
- 準(zhǔn)合同補充協(xié)議范本2024年
- 電力企業(yè)大修及技改工程審計與控制初探
- 肺結(jié)核歸口管理培訓(xùn)課件
- 越南整形行業(yè)趨勢分析
- 主要領(lǐng)導(dǎo)與分管領(lǐng)導(dǎo)廉政談話記錄
- 蒸汽鍋爐可行性方案
- 煤焦酚-安全技術(shù)說明書MSDS
- 【課件】第二課時光合作用的原理和應(yīng)用課件-2023-2024學(xué)年高一上學(xué)期生物人教版(2019)必修1
- 焚燒爐RTO操作規(guī)程
- 數(shù)據(jù)庫安全事件響應(yīng)機制
- 少先隊輔導(dǎo)員筆試題
- NCCN成人癌痛指南
評論
0/150
提交評論