“Ctrl+Alt+Del”這按鍵組合是查詢管理系統進程,系統進程可以查到系統正在啟動並執行程式和所佔的系統資源,使用者們通過管理系統進程可以提高系統的使用資源,今天大家一起來學學相關的知識吧,釋放更多的系統資源。
1.系統進程
這些大多是保證系統正常運行所需的進程。下面以筆者電腦上的進程列表為例(圖1)來做個簡單的介紹(預設情況下,WinXP會啟動許多的系統服務,由於筆者關閉了一些不必要的系統服務,所以列表可能與大家的略有不同)。
①Svchost.exe:它是從動態連結程式庫(DLL)中啟動並執行服務的通用主機處理序名稱。每個Svchost.exe包含著一組服務。我們平時上網、磁碟管理、執行的計劃任務等就是由這個進程來完成的。這就是典型的一個進程會對應多個程式。對於WinXP/2000系統會有多個此進程同時存在。*、病毒等也常常通過這個進程來載入,這樣它的進程名和程式名就不一樣了。
②Explorer.exe:資源管理員,我們常用的案頭、工作列等就是由它來管理的。
③Winlogon.exe:系統管理使用者登入,是在登入系統時載入的,作用就是保證使用者能夠正常登入系統。
④System和System Idle Process:系統預設服務,它作為單線程運行在每個處理器上,並在系統不處理其他線程的時候指派處理器的時間(別讓CPU太閑了)。大家常常會發現它的CPU佔有率數值很大,其實這表明CPU此時很空閑。
其他如Alg.exe、sass.exe 、Services.exe 、Csrss.exe、Smss也是系統進程,大家一般接觸較少,具體說明就不介紹了。這些是系統正常運行所必需的進程,如果被關閉,系統可能會出現一些莫名其妙的故障。
2.使用者服務或自行啟動的進程
①運行Norton殺毒軟體啟動進程—Navapsvc.exe和Navapw32.exe。
②工作列IME切換表徵圖—Ctfmon.exe,它是Office自動載入的文字服務,如果你沒裝Office,這裡顯示的是internat.exe。
③啟動QQ後的進程—QQ.exe、Timplatform(QQ的TM功能),這就是前面說的一個應用程式啟動多個進程。
④Taskmgr.exe—正在啟動並執行工作管理員。
其他如啟動Winamp(Winamp.exe)、Outlook Express(msin.exe)、Word(Winword.exe)、IE瀏覽器(iexplore.exe)、記事本(Notepad.exe)、EXCEL(Excel.exe)等程式後(括弧中即為進程名),它們的進程名和程式本身是一致的,大家可以比較容易地判斷出來。
管理進程
雖然工作管理員可以列出系統所有的進程,但是無法知道進程所在的路徑、調用的模組、進程的關係(如子、父進程)、包含子服務等詳細資料。下面介紹兩種方法。
1.利用系統內建命令
在WinXP中,Tastlist和Taskkill就是專門用於查看和終止進程的兩個命令。
①Tasklist命令,用於顯示運行在本地或遠端電腦上的所有任務的應用程式和服務列表,帶有過程ID。
文法:
tasklist[.exe] [/s computer] [/u domainuser [/p password]] [/fo {TABLE LIST CSV}] [/nh] [/fi FilterName [/fi FilterName2 [ ... ]]] [/m [ModuleName] /svc /v]
各參數的說明請參考Windows的協助(在系統案頭上按“F1”鍵後搜尋這個命令即可)。比如要查看QQ.exe這個進程調用的模組,在命令列下輸入:
tasklist /m
斷行符號後就可以看到當前所有程式所調用的DLL檔案了,當然也包括QQ.exe(如圖2一個程式身後有很多模組在支援)。
②Taskkill命令,用於結束一個或多個任務或進程。可以根據進程ID或映像名來結束進程。
文法:
taskkill [/s Computer] [/u DomainUser [/p Password]]] [/fi FilterName] [/pid ProcessID] [/im ImageName] [/f][/t]
如要強行終止QQ.exe則輸入命令:taskkill /im qq.exe /f。斷行符號後即可結束QQ進程。
2.利用專門進程軟體
Process Explorer(以下簡稱為PE)這個軟體已經有國內的愛好者對它進行了漢化,下面就以漢化版來介紹。雖然系統命令可以列出進程比較詳細的資訊,但是無法知道進程包含每個服務的具體路徑,以及調用的DLL檔案。來管理進程。PE可以讓使用者能瞭解到在後台執行的處理常式,能顯示目前已經載入哪些模組,分別正在被哪些程式使用著,還可顯示這些程式所調用的DLL進程,以及它們所開啟的控制代碼。
下面就以用PE來查看Svchost.exe這個進程為例。如上所述,每個Svchost.exe包含著一組服務,而*們也非常喜歡它,常常通過註冊為系統服務並藉助它來啟動。Svchost.exe進程只作為服務宿主,也就是說它只能提供條件,讓其他服務在這裡被啟動,自己並不代表任何程式。這些系統服務是以動態連結程式庫(DLL)的形式實現,*們把可執行程式指向Svchost,由它調用*檔案的動態連結程式庫來啟動服務。如果僅依靠系統內建那兩個命令是無法解析這個進程的。
運行PE後選中Svhoost.exe,右擊選擇“屬性”,在彈出的視窗中就可以看到關於該進程的詳細資料(如圖3用工具查看進程就方便了)。
①查看路徑。單擊“映像”,可以看到Svchost.exe路徑是在C:windows system32下。而它所註冊的服務是imgsvc,父進程ID為554(Services.exe),(如圖4瞭解進程的來龍去脈)。
②查看註冊服務。單擊“服務”可以看到所註冊服務(imgsvc)的詳細說明(如圖5現在知道這些進程在做什麼了)。
③查看調用模組。單擊“程式線程”,可以看到所註冊服務的每個線程和調用的模組(如圖6從模組與進程的關係可以判斷它是不是正常的)。
這樣通過PE,我們就可以知道進程的詳細資料了,如果發現進程有什麼異常,即可按提示的路徑和調用模組資訊予以終止。
看完上面的介紹,大家能夠管好電腦的這些進程了吧。總之,進程作為系統的一個重要組件,大家如果能夠管識別並管好它,可以給使用電腦帶來極大的便利。
(責任編輯:admin)