已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第13章 Linux中的進(jìn)程管理,Linux是一個(gè)多用戶、多任務(wù)的操作系統(tǒng)。在這樣的系統(tǒng)中,各種計(jì)算機(jī)資源(如文件、內(nèi)存、CPU等)的分配和管理都以進(jìn)程為單位。為了協(xié)調(diào)多個(gè)進(jìn)程對這些共享資源的訪問,操作系統(tǒng)要跟蹤所有進(jìn)程的活動,以及它們對系統(tǒng)資源的使用情況,從而實(shí)施對進(jìn)程和資源的動態(tài)管理。本章將對Linux的進(jìn)程管理做詳細(xì)的介紹。,13.1 Linux進(jìn)程概述,程序是存儲在磁盤上包含可執(zhí)行機(jī)器指令和數(shù)據(jù)的靜態(tài)實(shí)體,而進(jìn)程是在操作系統(tǒng)中執(zhí)行的特定任務(wù)的動態(tài)實(shí)體。Linux系統(tǒng)中每個(gè)運(yùn)行中的程序至少由一個(gè)進(jìn)程組成。每個(gè)進(jìn)程與其他進(jìn)程都是彼此獨(dú)立的,都有自己獨(dú)立的權(quán)限與職責(zé)。一個(gè)用戶的應(yīng)用程序不會干擾到其他用戶的程序或者操作系統(tǒng)本身。 Linux操作系統(tǒng)包括如下三種不同類型的進(jìn)程,每種進(jìn)程都有其自己的特點(diǎn)和屬性: 交互進(jìn)程:由一個(gè)shell啟動的進(jìn)程。交互進(jìn)程既可以在前臺運(yùn)行,也可以在后臺運(yùn)行。 批處理進(jìn)程:這種進(jìn)程和終端沒有聯(lián)系,是一個(gè)進(jìn)程序列。 守護(hù)進(jìn)程:Linux系統(tǒng)啟動時(shí)啟動的進(jìn)程,并在后臺運(yùn)行。 上述三種進(jìn)程各有各的作用,使用場合也有所不同。,13.2 Linux進(jìn)程原理,為了更好地對Linux系統(tǒng)的進(jìn)程進(jìn)行高效、有針對性地管理,需要對進(jìn)程的基本原理有所了解,本節(jié)將介紹Linux系統(tǒng)中進(jìn)程的狀態(tài)以及基本的工作模式。,13.2.1 Linux進(jìn)程的狀態(tài),通常在操作系統(tǒng)中,進(jìn)程至少要有三種基本狀態(tài),分別為:運(yùn)行態(tài)、就緒態(tài)和封鎖態(tài)(或阻塞態(tài))。 在Linux系統(tǒng)中,進(jìn)程主要有以下幾個(gè)狀態(tài): 運(yùn)行態(tài)(TASK_RUNNING):此時(shí),進(jìn)程正在運(yùn)行(即系統(tǒng)的當(dāng)前進(jìn)程)或者準(zhǔn)備運(yùn)行(即就緒態(tài)) 等待態(tài):此時(shí)進(jìn)程在等待一個(gè)事件的發(fā)生或某種系統(tǒng)資源。Linux系統(tǒng)分為兩種等待進(jìn)程:可中斷的(TASK_INTERRUPTIBLE)和不可中斷的(TASK_UNINTERRUPTIBLE)??芍袛嗟牡却M(jìn)程可以被某一信號(Signal)中斷;而不可中斷的等待進(jìn)程不受信號的打擾,將一直等待硬件狀態(tài)的改變。 停止態(tài)(TASK_STOPPED):進(jìn)程被停止,通常是通過接收一個(gè)信號。正在被調(diào)試的進(jìn)程可能處于停止?fàn)顟B(tài)。 僵死態(tài)(TASK_ZOMBIE):由于某些原因被終止的進(jìn)程,但是該進(jìn)程的控制結(jié)構(gòu)task_struct仍然保留著。,13.2.2 Linux進(jìn)程工作模式,在Linux系統(tǒng)中,進(jìn)程的執(zhí)行模式劃分為用戶模式和內(nèi)核模式。如果當(dāng)前運(yùn)行的是用戶程序、應(yīng)用程序或者內(nèi)核之外的系統(tǒng)程序,那么對應(yīng)進(jìn)程就在用戶模式下運(yùn)行;如果在用戶程序執(zhí)行過程中出現(xiàn)系統(tǒng)調(diào)用或者發(fā)生中斷事件,就要運(yùn)行操作系統(tǒng)(即核心)程序,進(jìn)程模式就變成內(nèi)核模式。在內(nèi)核模式下運(yùn)行的進(jìn)程可以執(zhí)行機(jī)器的特權(quán)指令;而且,此時(shí)該進(jìn)程的運(yùn)行不受用戶的干預(yù),即使是root用戶也不能干預(yù)內(nèi)核模式下進(jìn)程的運(yùn)行。 按照進(jìn)程的功能和運(yùn)行的程序分類,進(jìn)程可劃分為兩大類:一類是系統(tǒng)進(jìn)程,只運(yùn)行在內(nèi)核模式,執(zhí)行操作系統(tǒng)代碼,完成一些管理性的工作,例如內(nèi)存分配和進(jìn)程切換;另外一類是用戶進(jìn)程,通常在用戶模式中執(zhí)行,并通過系統(tǒng)調(diào)用或在出現(xiàn)中斷、異常時(shí)進(jìn)入內(nèi)核模式。用戶進(jìn)程既可以在用戶模式下運(yùn)行,也可以在內(nèi)核模式下運(yùn)行。,13.3 Linux守護(hù)進(jìn)程介紹,如上所述,守護(hù)進(jìn)程是Linux系統(tǒng)三大進(jìn)程之一,而且是系統(tǒng)中比較重要的一種,該進(jìn)程可以完成很多工作,包括系統(tǒng)管理以及網(wǎng)絡(luò)服務(wù)等,下面就對這些守護(hù)進(jìn)程進(jìn)行介紹。,13.3.1 守護(hù)進(jìn)程簡介,守護(hù)進(jìn)程(Daemon,也稱為精靈進(jìn)程)是指在后臺運(yùn)行而又沒有終端或登錄shell與之結(jié)合在一起的進(jìn)程。守護(hù)進(jìn)程經(jīng)常在程序啟動時(shí)開始運(yùn)行,在系統(tǒng)結(jié)束時(shí)停止。這些進(jìn)程沒有控制終端,所以稱為在后臺運(yùn)行。Linux系統(tǒng)有許多標(biāo)準(zhǔn)的守護(hù)進(jìn)程,其中一些周期性地運(yùn)行來完成特定的任務(wù)(例如crond),而其余的則連續(xù)地運(yùn)行,等待處理系統(tǒng)中發(fā)生的某些特定的事件(例如xinetd和lpd)。啟動守護(hù)進(jìn)程有如下幾種方法: 在引導(dǎo)系統(tǒng)時(shí)啟動:此種情況下的守護(hù)進(jìn)程通常在系統(tǒng)啟動script的執(zhí)行期間被啟動,這些script一般存放在/etc/rc.d中。 人工手動從shell提示符啟動:任何具有相應(yīng)的執(zhí)行權(quán)限的用戶都可以使用這種方法啟動守護(hù)進(jìn)程。 使用crond守護(hù)進(jìn)程啟動:這個(gè)守護(hù)進(jìn)程查詢存放在/var/spool/cron/crontabs目錄中的一組文件,這些文件規(guī)定了需要周期性執(zhí)行的任務(wù)。 執(zhí)行at命令啟動:在規(guī)定的日期和執(zhí)行一個(gè)程序。,13.3.2 重要守護(hù)進(jìn)程介紹,13.4 啟動Linux進(jìn)程,在系統(tǒng)中,鍵入需要運(yùn)行的程序的程序名,執(zhí)行一個(gè)程序,其實(shí)也就是啟動了一個(gè)進(jìn)程。在Linux系統(tǒng)中每個(gè)進(jìn)程都具有一個(gè)進(jìn)程號,用于系統(tǒng)識別和調(diào)度進(jìn)程。啟動一個(gè)進(jìn)程有兩個(gè)主要途徑:手工啟動和調(diào)度啟動。與前者不同的是:后者是事先進(jìn)行設(shè)置,根據(jù)用戶要求自行啟動。,13.4.1 手工啟動,1前臺啟動 這是手工啟動一個(gè)進(jìn)程的最常用的方式。一般地,用戶鍵入一個(gè)命令“l(fā)s l”,這就已經(jīng)啟動了一個(gè)進(jìn)程,而且是一個(gè)前臺的進(jìn)程。這時(shí)候系統(tǒng)其實(shí)已經(jīng)處于一個(gè)多進(jìn)程狀態(tài)。在通常情況下,用戶在啟動進(jìn)程時(shí),系統(tǒng)中已經(jīng)存在了許多運(yùn)行在后臺的、系統(tǒng)啟動時(shí)就已經(jīng)自動啟動的進(jìn)程。 2后臺啟動 直接從后臺手工啟動一個(gè)進(jìn)程用得比較少一些,除非是該進(jìn)程甚為耗時(shí),且用戶也不急著要看到處理結(jié)果的時(shí)候。假設(shè)用戶要啟動一個(gè)要長時(shí)間運(yùn)行的格式化文本文件的進(jìn)程,為了不使整個(gè)shell在格式化過程中都處于“癱瘓”狀態(tài)(長時(shí)間看不到任何運(yùn)行結(jié)果),因此這個(gè)時(shí)候選擇從后臺啟動進(jìn)程是明智的選擇,下面是一個(gè)后臺啟動進(jìn)程的例子: #./calculate & /啟動一個(gè)后臺計(jì)算進(jìn)程 1 2116 /分配給的該后臺進(jìn)程的ID號,13.4.2 在指定時(shí)刻執(zhí)行命令序列at命令,有時(shí)候須要對系統(tǒng)進(jìn)行一些比較費(fèi)時(shí)而且占用資源的維護(hù)工作,這些工作適合在深夜進(jìn)行,這時(shí)候用戶就可以事先進(jìn)行調(diào)度安排,指定任務(wù)運(yùn)行的時(shí)間或者場合,到時(shí)候系統(tǒng)會自動完成這一切工作。用戶使用at命令在指定時(shí)刻執(zhí)行指定的命令序列at命令可以只指定時(shí)間,也可以時(shí)間和日期一起指定。需要注意的是,指定時(shí)間有個(gè)系統(tǒng)判別問題。比如說:用戶現(xiàn)在指定了一個(gè)執(zhí)行時(shí)間:凌晨3:20,而發(fā)出at命令的時(shí)間是頭天晚上的20:00,那么這將會產(chǎn)生兩種執(zhí)行情況:如果用戶在3:20以前仍然在工作,那么該命令將在這個(gè)時(shí)候完成;如果用戶3:20以前就退出了工作狀態(tài),那么該命令將在第二天凌晨才得到執(zhí)行。,13.4.3 在資源比較空閑的時(shí)候執(zhí)行命令batch命令,batch命令用低優(yōu)先級運(yùn)行作業(yè),該命令幾乎和at命令的功能完全相同,惟一的區(qū)別在于:at命令是在指定時(shí)間,很精確的時(shí)刻執(zhí)行指定命令;而batch卻是在系統(tǒng)負(fù)載較低,資源比較空閑的時(shí)候執(zhí)行命令,這個(gè)主要是由系統(tǒng)來決定執(zhí)行的,因而用戶的干預(yù)權(quán)力很小。該命令適合于執(zhí)行占用資源較多的命令。 batch命令的語法格式也和at命令十分相似,如下所示: batch -V -q queue -f file -mv 時(shí)間 具體的參數(shù)解釋與at命令相似,這里不再贅述,請參看at命令。一般地說,不用為batch命令指定時(shí)間參數(shù),因?yàn)閎atch本身的特點(diǎn)就是由系統(tǒng)決定執(zhí)行任務(wù)的時(shí)間,如果用戶再指定一個(gè)時(shí)間,就失去了該命令本來的意義。 下面給出使用該命令的例子: /使用batch命令執(zhí)行在根目錄下查詢文本文件的功能 #batch at find / -name *.txt at job 14 at 2005-06-11 22:59 注意:batch和at命令都將自動轉(zhuǎn)入后臺,所以啟動的時(shí)候并不需要手工添加&符號。,13.4.4 不斷重復(fù)執(zhí)行某些命令cron命令,前面介紹的兩條命令都會在一定時(shí)間內(nèi)完成一定任務(wù),但是注意它們都只能執(zhí)行一次。,當(dāng)系統(tǒng)在指定時(shí)間完成任務(wù)后,一切就結(jié)束了。但是在很多時(shí)候需要不斷重復(fù)一些命令,比如:某公司每周一自動向員工報(bào)告頭一周公司的活動情況,這時(shí)候就需要使用cron命令來完成任務(wù)了。 實(shí)際上,cron命令是不應(yīng)該手工啟動的。cron命令在系統(tǒng)啟動時(shí)就由一個(gè)shell腳本自動啟動,進(jìn)入后臺(所以不需要使用“&”符號)。一般的用戶沒有運(yùn)行該命令的權(quán)限,雖然超級用戶可以手工啟動cron,不過還是建議將其放到shell腳本中由系統(tǒng)自行啟動。 首先cron命令會搜索/var/spool/cron目錄,尋找以/etc/passwd文件中的用戶名命名的crontab文件,被找到的這種文件將載入內(nèi)存。cron啟動以后,將首先檢查是否有用戶設(shè)置了crontab文件,如果沒有就轉(zhuǎn)入“休眠”狀態(tài),釋放系統(tǒng)資源。所以該后臺進(jìn)程占用資源極少。它每分鐘“醒”過來一次,查看當(dāng)前是否有需要運(yùn)行的命令。命令執(zhí)行結(jié)束后,任何輸出都將作為郵件發(fā)送給crontab的所有者,或者是/etc/crontab文件中MAILTO環(huán)境變量中指定的用戶。,13.4.5 操作cron后臺進(jìn)程的表格crontab命令,crontab命令用于安裝、刪除或者列出用于驅(qū)動cron后臺進(jìn)程的表格。用戶把要執(zhí)行的命令序列放到crontab文件中以獲得執(zhí)行。每個(gè)用戶都可以有自己的crontab文件。 在/var/spool/cron下的crontab文件不可以直接創(chuàng)建或者直接修改。crontab文件是通過crontab命令得到的。該文件中每行都包括六個(gè)域,其中前五個(gè)域是指定命令被執(zhí)行的時(shí)間,最后一個(gè)域是要被執(zhí)行的命令。每個(gè)域之間使用空格或者制表符分隔。格式如下(此處用空格符分隔): minute hour day-of-month month-of-year day-of-week commands 第一項(xiàng)是分鐘,第二項(xiàng)是小時(shí),第三項(xiàng)是一個(gè)月的第幾天,第四項(xiàng)是一年的第幾個(gè)月,第五項(xiàng)是一周的星期幾,第六項(xiàng)是要執(zhí)行的命令。這些項(xiàng)都不能為空,必須填入。如果用戶不需要指定其中的幾項(xiàng),那么可以使用“*”代替。因?yàn)椤?”是統(tǒng)配符,可以代替任何字符,所以就可以認(rèn)為是任何時(shí)間,也就是該項(xiàng)被忽略了。在表13.2中給出了每項(xiàng)的合法范圍。,13.5 進(jìn)程的掛起及恢復(fù),作業(yè)控制允許將進(jìn)程掛起并可以在需要時(shí)恢復(fù)進(jìn)程的運(yùn)行,被掛起的作業(yè)恢復(fù)后將從中止處開始繼續(xù)運(yùn)行。只要在鍵盤上使用組合鍵Ctrl+Z,即可掛起當(dāng)前的前臺作業(yè)。 #cat text.file 1+ stopped cat text.file #jobs 1+ stopped cat text.file 在鍵盤上按組合鍵Ctrl+Z后,將掛起當(dāng)前執(zhí)行的命令cat。使用jobs命令可以顯示shell的作業(yè)清單,包括具體的作業(yè)、作業(yè)號以及作業(yè)當(dāng)前所處的狀態(tài)。 恢復(fù)進(jìn)程執(zhí)行時(shí),有兩種選擇:用fg命令將掛起的作業(yè)放回到前臺執(zhí)行;用bg命令將掛起的作業(yè)放到后臺執(zhí)行。 假設(shè)用戶正在執(zhí)行消耗資源較多的calculate程序,現(xiàn)在希望查看該程序所消耗的CPU資源以及內(nèi)存的情況。那么就要首先使用組合鍵Ctrl+Z將calculate進(jìn)程掛起,然后使用bg命令將其在后臺啟動,這樣就得到了前臺的操作控制權(quán),接著鍵入“psx”查看進(jìn)程情況。查看完畢后,使用fg命令將該進(jìn)程帶回前臺運(yùn)行即可。其操作命令步驟如下: #./calculate /執(zhí)行程序 Ctrl+Z /使用組合鍵掛起進(jìn)程 1+ Stopped ./calculate /表示進(jìn)程已經(jīng)掛起 #bg ./calculate /將該進(jìn)程轉(zhuǎn)為后臺執(zhí)行 1+ ./calculate & /表示進(jìn)程轉(zhuǎn)為后臺執(zhí)行成功 #fg ./calculate / /將該進(jìn)程轉(zhuǎn)為前臺執(zhí)行 ./calculate /程序恢復(fù)前臺運(yùn)行 在默認(rèn)情況下,fg和bg命令對最近停止的作業(yè)進(jìn)行操作。如果希望恢復(fù)其他作業(yè)的運(yùn)行,可以在命令中指定要恢復(fù)作業(yè)的作業(yè)號來恢復(fù)該作業(yè)。例如: #fg 1,13.6 Linux進(jìn)程管理,下面將要詳細(xì)介紹幾個(gè)進(jìn)程管理的命令。使用這些命令,用戶可以實(shí)時(shí)、全面、準(zhǔn)確地了解系統(tǒng)中運(yùn)行進(jìn)程的相關(guān)信息,從而對這些進(jìn)程進(jìn)行相應(yīng)的掛起、中止等操作。 13.6.1 使用ps命令查看進(jìn)程狀態(tài) ps命令是查看進(jìn)程狀態(tài)的最常用的命令,可以提供關(guān)于進(jìn)程的許多信息。根據(jù)顯示的信息可以確定哪個(gè)進(jìn)程正在運(yùn)行、哪個(gè)進(jìn)程被掛起、進(jìn)程已運(yùn)行了多久、進(jìn)程正在使用的資源、進(jìn)程的相對優(yōu)先級,以及進(jìn)程的標(biāo)識號(PID)等信息。ps命令的一般格式是:ps 選項(xiàng)。 以下是ps命令常用的選項(xiàng)及其含義: -a:顯示系統(tǒng)中與tty相關(guān)的(除會話組長之外)所有進(jìn)程的信息。 -e:顯示所有進(jìn)程的信息。 -f:顯示進(jìn)程的所有信息。 -l:以長格式顯示進(jìn)程信息。 r:只顯示正在運(yùn)行的進(jìn)程。 u:顯示面向用戶的格式(包括用戶名、CPU及內(nèi)存使用情況等信息)。 x:顯示所有非控制終端上的進(jìn)程信息。 -pid:顯示由進(jìn)程ID指定的進(jìn)程的信息。 -tty:顯示指定終端上的進(jìn)程的信息。,13.6.2 使用top命令查看進(jìn)程狀態(tài),top命令和ps命令的基本作用是相同的,顯示系統(tǒng)當(dāng)前的進(jìn)程及其狀態(tài),但是top是一個(gè)動態(tài)顯示過程,可以通過用戶按鍵來不斷刷新當(dāng)前狀態(tài)。如果在前臺執(zhí)行,該命令將獨(dú)占前臺,直到用戶終止該程序?yàn)橹?。top命令的一般格式是:top bciqsSd n 。 其命令參數(shù)的含義如下: b:使用批處理模式。 c:列出程序時(shí),顯示每個(gè)程序的完整指令,包括指令名稱、路徑和參數(shù)等相關(guān)信息。 i:執(zhí)行top指令時(shí),忽略閑置或是已成為Zombie的程序。 q:持續(xù)監(jiān)控程序執(zhí)行的狀況。 s:使用保密模式,消除互動模式下的潛在危機(jī)。 S:使用累計(jì)模式。 d:設(shè)置top監(jiān)控程序執(zhí)行狀況的間隔時(shí)間,單位以秒計(jì)算。 n:設(shè)置監(jiān)控信息的更新次數(shù)。,13.6.3 使用kill命令終止進(jìn)程,通常終止一個(gè)前臺進(jìn)程可以使用Ctrl+C組合鍵。但是,對于一個(gè)后臺進(jìn)程就須用kill命令來終止。kill命令是通過向進(jìn)程發(fā)送指定的信號來結(jié)束相應(yīng)進(jìn)程。在默認(rèn)情況下,采用編號為15的TERM信號。TERM信號將終止所有不能捕獲該信號的進(jìn)程。對于那些可以捕獲該信號的進(jìn)程就要用編號為9的KILL信號,強(qiáng)行殺掉該進(jìn)程。 kill命令的一般格式是:kill -s 信號|-p 進(jìn)程號或者kill -l 信號。其中選項(xiàng)各選項(xiàng)的含義如下: -s:指定要發(fā)送的信號,既可以是信號名(如kill),也可以是對應(yīng)信號的號碼(如9)。 -p:指定kill命令只是顯示進(jìn)程的pid(進(jìn)程標(biāo)識號),并不真正發(fā)出結(jié)束信號。 -l
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度法律服務(wù)機(jī)構(gòu)兼職律師服務(wù)合同3篇
- 2025年度公司簽約帶貨主播虛擬偶像合作合同3篇
- 二零二五年度養(yǎng)殖場養(yǎng)殖場養(yǎng)殖技術(shù)交流與合作合同3篇
- 2025年度建筑工程施工現(xiàn)場管理三方協(xié)議3篇
- 二零二五年度全新碼頭租賃合同及港口貨物裝卸服務(wù)協(xié)議3篇
- 2025年度XX教育機(jī)構(gòu)二零二五年度教育貸款協(xié)議3篇
- 2025年度大學(xué)畢業(yè)生就業(yè)就業(yè)能力評估與培訓(xùn)合同3篇
- 2025年度高新技術(shù)產(chǎn)業(yè)競業(yè)禁止勞動合同范本解析3篇
- 2025年度高效農(nóng)業(yè)機(jī)械買賣合同協(xié)議書模板3篇
- 2025年度寵物店專業(yè)連鎖品牌形象設(shè)計(jì)與授權(quán)合同3篇
- 【供應(yīng)鏈視角下的光明乳業(yè)存貨管理問題研究9700字】
- DL-T1069-2016架空輸電線路導(dǎo)地線補(bǔ)修導(dǎo)則
- 個(gè)體診所醫(yī)療器械自查報(bào)告
- 交響音樂賞析智慧樹知到期末考試答案章節(jié)答案2024年西安交通大學(xué)
- JTG-D82-2009公路交通標(biāo)志和標(biāo)線設(shè)置規(guī)范
- CT增強(qiáng)檢查的護(hù)理
- (完整版)公務(wù)員考試行測答題卡-高清A4標(biāo)準(zhǔn)打印版
- 初中化學(xué)實(shí)驗(yàn)安全教育
- 《預(yù)測與決策教程第2版》(習(xí)題解答)機(jī)工版
- GT 42456-2023 工業(yè)自動化和控制系統(tǒng)信息安全 IACS組件的安全技術(shù)要求
- 服裝色彩搭配智慧樹知到期末考試答案2024年
評論
0/150
提交評論