Process Explorer出現(xiàn)的背景
Process Explorer可以看成是一個加強版的任務管理器。在較早的Windows版本中,任務管理器提供的功能是非常簡單的(比如查看CPU、內(nèi)存的使用情況,強制結束進程等),很難滿足我們高級一些的需求。在這種情況下,Process Exploere就應運而生了,大大的方便了我們工作中監(jiān)測進程和排除故障的工作。

功能介紹
這里我會從實際應用的角度對Process Explorer的一些功能點進行介紹。
1. 替換任務管理器
Process Explorer提供了相對與任務管理器更加強大實用的功能,所以有的時候就會想著直接把任務管理器給替換掉得了。Process Explorer提供了這樣一個功能,可以在用戶觸發(fā)打開任務管理器的操作的時候直接打開Process Explorer。
操作步驟:
Options -> Replace Task Manager
之后在我們運行Win+Esc、Ctrl+Shift+Del的時候打開的就是Process Explorer了。
2. 查看當前系統(tǒng)中運行的進程
Process Explorer對進程以樹形圖的形式進行展示,這樣方便我們觀察父子進程之間的關系。從這里我們可以看出來,絕大部分的窗體應用程序都是explorer.exe的子進程,大部分的后臺進程都在services.exe下面:

Process Explorer會以不同的顏色標示不同狀態(tài)的進程,比如:

淺藍色: 和Process Explorer屬于同一個用戶的進程。
粉紅色: 服務進程,通常會包含一個或多個Windows服務。
黃色: .NET進程。
深灰色: 掛起的進程。
紫色: 標識包含壓縮或者加密的可執(zhí)行代碼的進程。一些病毒軟件經(jīng)常會利用這種方式繞過殺毒軟件。
紅色: 剛剛退出的進程。
我們還可以通過右鍵點擊右側列頭選擇顯示我們感興趣的屬性:

3. 查看進程的詳細信息
如果我們對某個進程的感興趣,我們可以雙擊這個進程查看它的詳細信息:
ProcessInfo.jpg
這里值得一提的是Command line和Current directory這兩個屬性。
Command line: 啟動進程的時候調(diào)用的命令。從這里我們可以了解怎么樣去調(diào)用這個進程,和有關當前進程啟動的詳細信息。
Current directory: 當前進程活動所在的文件夾。
4. 查看文件正在被什么進程占用
我們在操作文件(刪除、重命名等)的時候遇到錯誤提示,說文件正在被其他進程占用,無法執(zhí)行操作。這個時候可以打開Process Explorer對文件進行查找:
Ctrl + f

輸入要查找的文件名就可以看到有那些進程正在使用這個文件了: Search File
雙擊搜到的進程Process Explorer會在下面高亮顯示出對應的文件句柄。從這里我們可以強制關閉對應的句柄以達到不讓文件被繼續(xù)占用的目的。
5. 實時監(jiān)控系統(tǒng)的性能
通過View -> System Info我們可以打開Performance窗口查看過去一段時間內(nèi)系統(tǒng)的性能數(shù)據(jù):

我們也可以通過設置把感興趣的性能數(shù)據(jù)固定在任務欄里顯示:

6. 獲取Dump文件
借用百度百科的介紹,Dump文件是進程的內(nèi)存鏡像。通常在進程沒有反應或者崩潰的時候我們需要借助Dump文件來分析進程里面發(fā)生了什么。 Process Explorer提供了一個快捷的方式來獲取Dump文件:

右鍵點擊進程 -> Create Dump
我們可以根據(jù)需要選擇獲取最小的dump還是完整的dump文件。
7. 進程操作
Process Explorer提供了很多進程級別的操作:

8. 安全驗證
Process Explorer提供了強大的進程查看功能幫助我們對進程信息的合法性進行檢驗,包括:
進程簽名
進程路徑
運行路徑
…
9. 設置Symbols顯示更詳細的堆棧信息
設置Symbol之前:

設置Symbol之后:
