(未獲得作者本人同意,嚴禁轉載)
Process Explorer出現的背景
Process Explorer可以看成是一個加強版的任務管理器。在較早的Windows版本中,任務管理器提供的功能是非常簡單的(比如查看CPU、內存的使用情況,強制結束進程等),很難滿足我們高級一些的需求。在這種情況下,Process Exploere就應運而生了,大大的方便了我們工作中監測進程和排除故障的工作。
功能介紹
這里我會從實際應用的角度對Process Explorer的一些功能點進行介紹。
1. 替換任務管理器
Process Explorer提供了相對與任務管理器更加強大實用的功能,所以有的時候就會想着直接把任務管理器給替換掉得了。Process Explorer提供了這樣一個功能,可以在用戶觸發打開任務管理器的操作的時候直接打開Process Explorer。
操作步驟:
Options -> Replace Task Manager
之后在我們運行Win+Esc、Ctrl+Shift+Del的時候打開的就是Process Explorer了。
2. 查看當前系統中運行的進程
Process Explorer對進程以樹形圖的形式進行展示,這樣方便我們觀察父子進程之間的關系。從這里我們可以看出來,絕大部分的窗體應用程序都是explorer.exe的子進程,大部分的后台進程都在services.exe下面:
Process Explorer會以不同的顏色標示不同狀態的進程,比如:
- 淺藍色: 和Process Explorer屬於同一個用戶的進程。
- 粉紅色: 服務進程,通常會包含一個或多個Windows服務。
- 黃色: .NET進程。
- 深灰色: 掛起的進程。
- 紫色: 標識包含壓縮或者加密的可執行代碼的進程。一些病毒軟件經常會利用這種方式繞過殺毒軟件。
- 紅色: 剛剛退出的進程。
我們還可以通過右鍵點擊右側列頭選擇顯示我們感興趣的屬性:
3. 查看進程的詳細信息
如果我們對某個進程的感興趣,我們可以雙擊這個進程查看它的詳細信息:
ProcessInfo.jpg
這里值得一提的是Command line和Current directory這兩個屬性。
Command line: 啟動進程的時候調用的命令。從這里我們可以了解怎么樣去調用這個進程,和有關當前進程啟動的詳細信息。
Current directory: 當前進程活動所在的文件夾。
4. 查看文件正在被什么進程占用
我們在操作文件(刪除、重命名等)的時候遇到錯誤提示,說文件正在被其他進程占用,無法執行操作。這個時候可以打開Process Explorer對文件進行查找:
Ctrl + f
輸入要查找的文件名就可以看到有那些進程正在使用這個文件了: Search File
雙擊搜到的進程Process Explorer會在下面高亮顯示出對應的文件句柄。從這里我們可以強制關閉對應的句柄以達到不讓文件被繼續占用的目的。
5. 實時監控系統的性能
通過View -> System Info我們可以打開Performance窗口查看過去一段時間內系統的性能數據:
我們也可以通過設置把感興趣的性能數據固定在任務欄里顯示:
6. 獲取Dump文件
借用百度百科的介紹,Dump文件是進程的內存鏡像。通常在進程沒有反應或者崩潰的時候我們需要借助Dump文件來分析進程里面發生了什么。 Process Explorer提供了一個快捷的方式來獲取Dump文件:
右鍵點擊進程 -> Create Dump
我們可以根據需要選擇獲取最小的dump還是完整的dump文件。
7. 進程操作
Process Explorer提供了很多進程級別的操作:
8. 安全驗證
Process Explorer提供了強大的進程查看功能幫助我們對進程信息的合法性進行檢驗,包括:
- 進程簽名
- 進程路徑
- 運行路徑
- …
9. 設置Symbols顯示更詳細的堆棧信息
設置Symbol之前:
設置Symbol之后:
詳細操作步驟請參考:
Resolve Symbols in Process Explorer-Monitor Without Installing the Debugging Tools