qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          精通軟件性能測(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]]]]
                   { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

          描述:
              這個(gè)命令行工具可用來(lái)結(jié)束至少一個(gè)進(jìn)程。
              可以根據(jù)進(jìn)程 id 或圖像名來(lái)結(jié)束進(jìn)程。

          參數(shù)列表:
              /S    system         指定要連接到的遠(yuǎn)程系統(tǒng)。
              /U    [domain\]user  指定應(yīng)該在哪個(gè)用戶上下文執(zhí)行這個(gè)命令。
              /P    [password]      為提供的用戶上下文指定密碼。如果忽略,提示輸入。
              /F                   指定要強(qiáng)行終止進(jìn)程。
              /FI   filter          指定篩選進(jìn)或篩選出查詢的任務(wù)。
              /PID  process id     指定要終止的進(jìn)程的PID。
              /IM   image name     指定要終止的進(jìn)程的圖像名。通配符‘*’可用來(lái)指定所有圖像名。
              /T                   Tree kill: 終止指定的進(jìn)程和任何由此啟動(dòng)的子進(jìn)程。
              /?                   顯示幫助/用法。

          篩選器:
              篩選器名        有效運(yùn)算符                  有效值
              -----------        ---------------            --------------
              STATUS          eq, ne                      運(yùn)行 | 沒有響應(yīng)
              IMAGENAME       eq, ne                      圖像名
              PID             eq, ne, gt, lt, ge, le     PID 值
              SESSION         eq, ne, gt, lt, ge, le     會(huì)話編號(hào)
              CPUTIME         eq, ne, gt, lt, ge, le     CPU 時(shí)間,格式為
                                                          hh:mm:ss。
                                                          hh-時(shí),
                                                          mm-鐘,ss-秒
              MEMUSAGE        eq, ne, gt, lt, ge, le     內(nèi)存使用,單位為 KB
              USERNAME        eq, ne                      用戶名,格式為
                                                           [domain\]user
              MODULES         eq, ne                      DLL 名
              SERVICES          eq, ne                      服務(wù)名
              WINDOWTITLE      eq, ne                      窗口標(biāo)題

          注意: 只有帶有篩選器的情況下,才能跟 /IM 切換使用通配符 ‘*’。

          注意: 遠(yuǎn)程進(jìn)程總是要強(qiáng)行終止,不管是否指定了 /F 選項(xiàng)。

          例如:
              TASKKILL /S system /F /IM notepad.exe /T
              TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
              TASKKILL /F /IM notepad.exe /IM mspaint.exe
              TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
              TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
              TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
              TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"


           為了使大家對(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

          <2013年7月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 汾阳市| 扎囊县| 固镇县| 加查县| 锦屏县| 嘉鱼县| 剑阁县| 蒙城县| 镇巴县| 塔河县| 锦屏县| 永嘉县| 金秀| 双流县| 台湾省| 楚雄市| 邢台市| 长岭县| 菏泽市| 永登县| 子长县| 丹凤县| 安多县| 合阳县| 澎湖县| 延川县| 海口市| 绥宁县| 齐河县| 濉溪县| 尚义县| 石柱| 洛扎县| 绍兴市| 宁南县| 九龙城区| 拉萨市| 兰西县| 平舆县| 开远市| 永吉县|