Windows任務(wù)管理器,遠(yuǎn)比你想象中的復(fù)雜
Windows 任務(wù)管理器(Windows Task Manager)的原始作者 Dave Plummer 近日在 Reddit 開帖分享關(guān)于任務(wù)管理器的冷知識和設(shè)計(jì)理念,并解答了網(wǎng)友的部分疑問。
在微軟工作了十幾年的 Dave 是從頭開始構(gòu)建任務(wù)管理器的開發(fā)者,大約1994年,他在家中的書房里編寫出了任務(wù)管理器(TaskMgr),盡管當(dāng)時他還只是一名新手,NT 內(nèi)核的開發(fā)者看到后依舊讓 Dave 將任務(wù)管理器加入到內(nèi)核的主分支中。這就意味著開發(fā)任務(wù)管理器將成為他的工作,并且需要繼續(xù)打磨以使它成為 Windows 系統(tǒng)的官方部分。
按照 Dave 最初的設(shè)想,任務(wù)管理器會以共享軟件的形式提供,他計(jì)劃將其出售給有需要的使用者,不過由于 NT 內(nèi)核開發(fā)者的建議,任務(wù)管理器最后成為了一款免費(fèi)應(yīng)用并與 Windows 捆綁在一起。任務(wù)管理器于1996年首次隨 Windows NT 4.0 一起提供,此后 Windows 的用戶都能通過該應(yīng)用檢查 CPU 負(fù)載或殺死進(jìn)程。
除了任務(wù)管理器,Dave 還參與了三維彈球(Space Cadet pinball)的開發(fā)和移植工作,編寫了 Zip Folder 的 UI 和文件管理部分,以及參與開始菜單、shell、計(jì)算器、ole32 和產(chǎn)品激活等產(chǎn)品的開發(fā)工作。
Dave 表示任務(wù)管理器是自己最引以為豪的應(yīng)用程序之一,因?yàn)樗赡苁怯惺芬詠淼谝粋€最復(fù)雜,至少在視覺效果上是最復(fù)雜的應(yīng)用程序,并且在任意尺寸下完全調(diào)整任務(wù)管理器的窗口大小都不會出現(xiàn)任何抖動情況。當(dāng)時的應(yīng)用對內(nèi)存要求十分苛刻,所以任務(wù)管理器的大小保持在 100K 以下。GDI32 和 User32 的同事也提供了不少幫助。
Dave 分享的關(guān)于任務(wù)管理器的一些使用技巧:
如果任務(wù)管理器掛起或崩潰,可通過按下 Ctrl-Shift-Esc 組合鍵啟動另一個。Winlogon 會尋找一個現(xiàn)有的實(shí)例,并嘗試在10秒內(nèi)重新啟動它。如果舊的任務(wù)管理器沒有在這段時間內(nèi)以秘密代碼進(jìn)行回應(yīng),那么另一個任務(wù)管理器將被啟動。如此一來,只要有可使用的資源,就可啟動任務(wù)管理器。
如果資源不足,任務(wù)管理器會在簡化模式(reduced mode)下加載,例如只加載進(jìn)程頁面(如果確實(shí)有這樣的需求)。它是為數(shù)不多的不會在出現(xiàn)問題時直接“失敗并退出”的應(yīng)用程序之一。
如果任務(wù)管理器內(nèi)部出現(xiàn)損壞,先關(guān)閉或殺掉進(jìn)程。然后在重啟的同時按下 Ctrl-ALT-Shift 組合鍵,任務(wù)管理器在啟動時發(fā)現(xiàn)此組合鍵,會將所有的內(nèi)部設(shè)置重置為出廠設(shè)置。
使用 Ctrl-Shift-Esc 組合鍵可在沒有 Shell 的幫助下啟動任務(wù)管理器,所以如果 Shell/Explorer 處于掛起狀態(tài),可通過此組合鍵調(diào)出任務(wù)管理器,然后重置或重啟 Shell。即使托盤消失,也可以通過此組合鍵啟動任務(wù)管理器。
如果 Shell 無法啟動或處于掛起狀態(tài),可以嘗試使用任務(wù)管理器,它有一個模式,在此模式下,任務(wù)管理器會在沒有任何引用 shell32.dll 的情況下加載,并允許在沒有開始菜單的情況下啟動 CMD.EXE 等程序。
任何在進(jìn)程表中正在執(zhí)行的進(jìn)程,右鍵點(diǎn)擊"顯示文件位置"即可查看進(jìn)程的二進(jìn)制文件。
理論上可通過任務(wù)管理器殺死任何進(jìn)程,如果用戶擁有權(quán)限,它甚至可以升級權(quán)限以啟用調(diào)試權(quán)限來殺死應(yīng)用程序。如果有連任務(wù)管理器都不能殺死的進(jìn)程,說明內(nèi)核出現(xiàn)了問題。
可在進(jìn)程頁上添加額外的列或刪除其他列,并拖動它們進(jìn)行重新排序。
任務(wù)管理器比大部分人認(rèn)識到的更為復(fù)雜,因?yàn)樗Q生之初就旨在解決用戶在需要該應(yīng)用程序時可能遇到的大多數(shù)情況。這些年來,微軟沒有對任務(wù)管理器的底層進(jìn)行改動。因此,上面介紹的所有使用技巧不僅適用于舊版本 Windows,同樣也適用于 Windows 10。
—————END—————
喜歡本文的朋友們,歡迎長按下圖關(guān)注公眾號程序員小灰,收看更多精彩內(nèi)容
給個[在看],是對小灰最大的支持!
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!