精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載五
8.2.3 Windows操作系統(tǒng)任務(wù)、進(jìn)程關(guān)閉技術(shù)
前面8.2.2小節(jié)向大家介紹了如何監(jiān)控正在運(yùn)行的應(yīng)用和進(jìn)程的一些方法,本節(jié)將介紹在進(jìn)行性能測(cè)試時(shí),為保證與被測(cè)試系統(tǒng)數(shù)據(jù)的準(zhǔn)確性,如何關(guān)閉一些無(wú)用的應(yīng)用和進(jìn)程的方法。打開Windows的任務(wù)管理,選中要關(guān)閉的進(jìn)程,然后單擊“結(jié)束進(jìn)程”按鈕,彈出“任務(wù)管理器警告”對(duì)話框,單擊“是”則結(jié)束選定的進(jìn)程,如圖8-8~圖8-9所示。
圖8-8 “Windows任務(wù)管理器”對(duì)話框信息
圖8-9 “任務(wù)管理警告”信息提示框
此外,還可以通過使用Windows的命令行來(lái)關(guān)閉運(yùn)行在本地或遠(yuǎn)程計(jì)算機(jī)上的所有任務(wù)的應(yīng)用程序和服務(wù)列表,并帶有進(jìn)程ID(PID),使用tasklist命令。為了幫助大家使用這個(gè)命令,可以輸入tasklist/?來(lái)查看該命令的幫助信息,顯示的信息如下所示:
taskkill [/S system [/U username [/P [password]]]] 描述: 參數(shù)列表: 篩選器: 注意: 只有帶有篩選器的情況下,才能跟 /IM 切換使用通配符 ‘*’。 注意: 遠(yuǎn)程進(jìn)程總是要強(qiáng)行終止,不管是否指定了 /F 選項(xiàng)。 例如: |
為了使大家對(duì)該命令的使用有更深刻的認(rèn)識(shí),這里給大家舉幾個(gè)例子進(jìn)行說(shuō)明。
1.示例一
如果應(yīng)用Tasklist命令查到“Foxmail”應(yīng)用的進(jìn)程如
圖8-10所示,現(xiàn)在要終止“Foxmail.exe”這個(gè)應(yīng)用進(jìn)程,可以在控制臺(tái)執(zhí)行“taskkill /im foxmail.exe”命令以后,顯示如圖8-11所示信息,當(dāng)然也可以應(yīng)用“taskkill/pid 2912”命令來(lái)關(guān)閉“Foxmail.exe”程序,如圖8-12所示。那么這兩條命令有什么區(qū)別呢?如果應(yīng)用程序“TEST”打開了若干個(gè)進(jìn)程,則“Taskkill/IM TEST.exe”命令將關(guān)閉該程序的全部進(jìn)程;而“Taskkill/PID對(duì)應(yīng)pid值”則只關(guān)閉該P(yáng)ID所對(duì)應(yīng)的進(jìn)程。
圖8-10 用Tasklist命令顯示Foxmail.exe進(jìn)程的相關(guān)信
圖8-11 用Taskkill命令關(guān)閉Foxmail.exe進(jìn)程的相關(guān)信息
圖8-12 用Taskkill命令關(guān)閉2912進(jìn)程的相關(guān)信息
2.示例二
如果需要終止遠(yuǎn)程計(jì)算機(jī)上的某個(gè)進(jìn)程,可以執(zhí)行命令“taskkill/s 192.168.0.102/u administrator/p beco/im winrar.exe”,這里要關(guān)閉的進(jìn)程IP地址為“192.168.0.102”,因?yàn)樵L問這臺(tái)遠(yuǎn)程計(jì)算機(jī)需要用戶名和密碼,所以加入了“/p administrator/p beco”,“administrator”、“beco”為遠(yuǎn)程計(jì)算機(jī)的用戶名和密碼,“/im winrar.exe”為要關(guān)閉的遠(yuǎn)程計(jì)算機(jī)上的應(yīng)用進(jìn)程圖像名,命令執(zhí)行完成后,顯示如圖8-13所示信息。命令執(zhí)行完畢以后,可以查看遠(yuǎn)程計(jì)算機(jī)的winrar應(yīng)用就被關(guān)閉了。
圖8-13 用Taskkill命令關(guān)閉遠(yuǎn)程計(jì)算機(jī)應(yīng)用進(jìn)程的相關(guān)信息
3.示例三
如果要同時(shí)關(guān)閉幾個(gè)進(jìn)程實(shí)例,例如,啟動(dòng)了兩個(gè)記事本程序和一個(gè)電驢程序應(yīng)用,如圖8-14所示。接下來(lái),運(yùn)行tasklist命令查看所有的任務(wù)進(jìn)程,如圖8-15所示信息,可以看到有3個(gè)應(yīng)用進(jìn)程:2個(gè)notepad.exe和1個(gè)emule.exe的圖像名。如果現(xiàn)在要關(guān)閉記事本和電驢程序應(yīng)用,則可以執(zhí)行命令“taskkill/im emule.exe/im notepad.exe”,執(zhí)行完成后,顯示如圖8-16所示信息。
圖8-14 記事本和電驢程序
圖8-15 tasklist顯示所有進(jìn)程信息
圖8-16 taskkill關(guān)閉記事本和電驢程序
4.示例四
如果需要批量關(guān)閉任務(wù)進(jìn)程,可以使用條件過濾組合,即方便又快捷。這里以關(guān)閉記事本進(jìn)程為例,從圖8-17可以看出,記事本的3個(gè)實(shí)例,pid分別為3544、3556、3568,這時(shí),可以用命令“taskkill/f/fi"pid gt 3543"/fi"pid lt 3570"”來(lái)關(guān)閉這3個(gè)實(shí)例。其中命令行中的“gt”和“lt”分別代表“大于”和“小于”,即要關(guān)閉pid>3542且pid<3570的任務(wù)進(jìn)程。
圖8-17 taskkill過濾參數(shù)的應(yīng)用
8.2.4 Linux操作系統(tǒng)任務(wù)、進(jìn)程監(jiān)控技術(shù)介紹
Linux的發(fā)展?jié)摿薮螅环矫妫琇inux在各行各業(yè)中的應(yīng)用也得到了很好的推廣,它的應(yīng)用已經(jīng)非常成熟。國(guó)際上,如當(dāng)今世界最大的搜索引擎公司Google應(yīng)用了1萬(wàn)多臺(tái)Linux服務(wù)器;在國(guó)內(nèi),電信、銀行、文化部、鐵路、電力、教育、民航等各大領(lǐng)域也應(yīng)用了Linux。基于Linux內(nèi)核的操作系統(tǒng)有很多,這里不給大家逐一介紹,關(guān)于Linux部分的樣例內(nèi)容以RedHat 9為例,本書也將它作為講解的主要操作系統(tǒng)。像Windows操作系統(tǒng)一樣,Linux操作系統(tǒng)同樣可以對(duì)進(jìn)程、CPU、內(nèi)存、硬盤等進(jìn)行監(jiān)控,因?yàn)長(zhǎng)inux是開源的,越來(lái)越多的組織機(jī)構(gòu)和個(gè)人不斷地去完善、發(fā)展這個(gè)操作系統(tǒng),可以說(shuō)Linux各個(gè)方面不遜色于Windows操作系統(tǒng)。
在給大家介紹Linux進(jìn)程監(jiān)控之前,先了解一下有關(guān)Linux進(jìn)程的一些基礎(chǔ)知識(shí)。
1.Linux進(jìn)程概念
Linux進(jìn)程中最知名的屬性就是它的進(jìn)程號(hào)(Process Idenity Number,PID)和它的父進(jìn)程號(hào)(parent process ID,PPID)。PID、PPID都是非零正整數(shù)。一個(gè)PID唯一地標(biāo)識(shí)一個(gè)進(jìn)程。一個(gè)進(jìn)程創(chuàng)建新進(jìn)程稱為創(chuàng)建了子進(jìn)程(child process)。相反地,創(chuàng)建子進(jìn)程的進(jìn)程稱為父進(jìn)程。所有進(jìn)程追溯其祖先最終都會(huì)落到進(jìn)程號(hào)為1的進(jìn)程身上,這個(gè)進(jìn)程叫做init進(jìn)程。它是內(nèi)核自舉后第一個(gè)啟動(dòng)的進(jìn)程。init進(jìn)程的作用是扮演終結(jié)父進(jìn)程的角色。因?yàn)閕nit進(jìn)程永遠(yuǎn)不會(huì)被終止,所以系統(tǒng)總是可以確信它的存在,并在必要的時(shí)候以它為參照。如果某個(gè)進(jìn)程在它衍生出來(lái)的全部子進(jìn)程結(jié)束之前被終止,就會(huì)出現(xiàn)必須以init為參照的情況。此時(shí)那些失去了父進(jìn)程的子進(jìn)程就都會(huì)以init作為它們的父進(jìn)程。
2.Linux進(jìn)程在運(yùn)行中的3種狀態(tài)
執(zhí)行(Running)狀態(tài):CPU正在執(zhí)行,即進(jìn)程正在占用CPU。
就緒(Waiting)狀態(tài):進(jìn)程已經(jīng)具備執(zhí)行的一切條件,正在等待分配CPU處理時(shí)間。
停止(Stoped)狀態(tài):進(jìn)程不能使用CPU。
3.理解Linux下進(jìn)程的結(jié)構(gòu)
Linux中一個(gè)進(jìn)程在內(nèi)存里由3部分的數(shù)據(jù)組成,就是“數(shù)據(jù)段”、“堆棧段”和“代碼段”,基于I386兼容的中央處理器都有上述3種段寄存器,以方便操作系統(tǒng)的運(yùn)行,如圖8-18所示。
圖8-18 Linux進(jìn)程的結(jié)構(gòu)
代碼段是存放了程序代碼的數(shù)據(jù),假如計(jì)算機(jī)中有數(shù)個(gè)進(jìn)程運(yùn)行相同的一個(gè)程序,那么它們就可以使用同一個(gè)代碼段。而數(shù)據(jù)段則存放程序的全局變量、常數(shù)以及動(dòng)態(tài)數(shù)據(jù)分配的數(shù)據(jù)空間。堆棧段存放的就是子程序的返回地址、子程序的參數(shù)以及程序的局部變量。堆棧段包括進(jìn)程控制塊PCB(Process Control Block)中。PCB處于進(jìn)程核心堆棧的底部,不需要額外分配空間。
4.Linux進(jìn)程的種類
Linux操作系統(tǒng)包括3種不同類型的進(jìn)程,每種進(jìn)程都有自己的特點(diǎn)和屬性。
● 交互進(jìn)程:由一個(gè)Shell啟動(dòng)的進(jìn)程。交互進(jìn)程既可以在前臺(tái)運(yùn)行,也可以在后臺(tái)運(yùn)行。
● 批處理進(jìn)程:這種進(jìn)程和終端沒有聯(lián)系,是一個(gè)進(jìn)程序列。
● 監(jiān)控進(jìn)程:也稱守護(hù)進(jìn)程,Linux系統(tǒng)啟動(dòng)時(shí)啟動(dòng)的進(jìn)程,并在后臺(tái)運(yùn)行。
(未完待續(xù))
版權(quán)聲明:51Testing軟件測(cè)試網(wǎng)及相關(guān)內(nèi)容提供者擁有51testing.com內(nèi)容的全部版權(quán),未經(jīng)明確的書面許可,任何人或單位不得對(duì)本網(wǎng)站內(nèi)容復(fù)制、轉(zhuǎn)載或進(jìn)行鏡像。51testing軟件測(cè)試網(wǎng)歡迎與業(yè)內(nèi)同行進(jìn)行有益的合作和交流,如果有任何有關(guān)內(nèi)容方面的合作事宜,請(qǐng)聯(lián)系我們。
相關(guān)鏈接:
精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載一
精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載二
精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載三
精通軟件性能測(cè)試與LoadRunner最佳實(shí)戰(zhàn) 連載四
posted on 2013-07-03 11:21 順其自然EVO 閱讀(221) 評(píng)論(0) 編輯 收藏 所屬分類: loadrunner