|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2003-05-04, 02:46 AM | #1 |
榮譽會員
|
win2k執行工作詳解
win2k執行工作詳解
================= Svchost.exe Svchost.exe文件對那些從動態連接庫中執行的服務來說是一個普通的主機工作名。Svhost.exe文件定位 在系統的%systemroot%\system32資料夾下。在啟動的時候,Svchost.exe檢查註冊表中的位置來構建需要 載入的服務列表。這就會使多個Svchost.exe在同一時間執行。每個Svchost.exe的回話期間都包含一組服務, 以至於單獨的服務必須依靠Svchost.exe怎樣和在那裡啟動。這樣就更加容易控制和搜尋錯誤。 Svhost 的解釋 Svchost.exe是一個很普通的利用dll動態連接庫來執行服務的程序,它位於system32目錄下。在電腦啟動時,它將讀取註冊表中有關服務的部分,然後建立需要啟動的服務列表。在同一時刻,可能有多個S vchost.exe在同時執行,每個Svchost.exe中可能包含一個或一組服務,同一組內的每個服務都可以在一個Svchost.exe開始執行時在同等的條件下同時啟動。說白一點,之所以要把若干個服務作為一組放在同一個S vchost.exe中來執行,目的就是使這些服務能夠更好的被控制和調試。 Svchost.exe組的確定是位於註冊表以下這個鍵值之中,HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost,這裡的每一項就是一組服務,也就是大家在任務管理器中看到的一個「Svchost.exe」。每一個REG_MULTI_ SZ中的值就是一個服務組,一個組中可能只有一個服務,也有可能有若干個服務。到底哪些服務是屬於同一個組,那些服務是獨立執行的?您可以在這個鍵值中找到答案,H KEY_LOCAL_MACHINE\System\CurrentControlSet\Services。 在Windows2000資源工具包中,有一個Tlist.exe文件可以列出當前記憶體中正在執行的Svchost.exe中所包含的服務,命令行用法是「t list.exe -s」。 svchost的確是與服務有關的,更準確的說是COM+服務.啟動組件管理,可以看到COM+下面個Applications,也就是上說兄說的"組"了. svchost.exe究竟是個什麼性質的工作呢?實際上是COM+為部署在其上的COM 組件新增的代理工作,從而實現用工作內的COM+組件提供遠端使用.因為,大家 都知道,工作內組件一般情況下是不能被遠端使用的~ Svchost.exe 組是用下面的註冊表值來識別。 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost 每個在這個鍵下的值代表一個獨立的Svchost組,並且當你正在看活動的工作時,它顯示作為一個單獨的 例子。每個鍵值都是REG_MULTI_SZ類型的值而且包括執行在Svchost組內的服務。每個Svchost組都包含一個 或多個從註冊表值中選取的服務名,這個服務的參數值包含了一個ServiceDLL值。 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service 更多的信息 為了能看到正在執行在Svchost列表中的服務。 開始-執行-敲入cmd 然後在敲入 tlist -s (tlist 應該是win2k工具箱裡的鼕鼕) Tlist 顯示一個活動工作的列表。開關 -s 顯示在每個工作中的活動服務列表。如果想知道更多的關於 工作的信息,可以敲 tlist pid。 Tlist 顯示Svchost.exe執行的兩個例子。 0 System Process 8 System 132 smss.exe 160 csrss.exe Title: 180 winlogon.exe Title: NetDDE Agent 208services.exe Svcs: AppMgmt, Browser, Dhcp, dmserver, Dnscache, Eventlog, lanmanserver, LanmanWorkstation, LmHosts, Messenger, PlugPlay, ProtectedStorage, seclogon, TrkWks, W32Time, Wmi 220 lsass.exe Svcs: Netlogon,PolicyAgent,SamSs 404 svchost.exe Svcs: RpcSs 452 spoolsv.exe Svcs: Spooler 544 cisvc.exe Svcs: cisvc 556 svchost.exe Svcs: EventSystem,Netman,NtmsSvc,RasMan,SENS,TapiSrv 580 regsvc.exe Svcs: RemoteRegistry 596 mstask.exe Svcs: Schedule 660 snmp.exe Svcs: SNMP 728 winmgmt.exe Svcs: WinMgmt 852 cidaemon.exe Title: OleMainThreadWndName 812 explorer.exe Title: Program Manager 1032 OSA.EXE Title: Reminder 1300 cmd.exe Title: D:\WINNT5\System32\cmd.exe - tlist -s 1080 MAPISP32.EXE Title: WMS Idle 1264 rundll32.exe Title: 1000 mmc.exe Title: Device Manager 1144 tlist.exe 在這個例子中註冊表設置了兩個組。 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost: netsvcs: Reg_Multi_SZ: EventSystem Ias Iprip Irmon Netman Nwsapagent Rasauto Rasman Remoteaccess SENS Sharedaccess Tapisrv Ntmssvc rpcss :Reg_Multi_SZ: RpcSs smss.exe csrss.exe 這個是用戶模式Win32子系統的一部分。csrss代表客戶/伺服器執行子系統而且是一個基本的子系統 必須一直執行。csrss 負責控制windows,新增或者刪除線程和一些16位的虛擬MS-DOS環境。 explorer.exe 這是一個用戶的shell(我實在是不知道怎麼翻譯shell),在我們看起來就像任務條,桌面等等。這個 工作並不是像你想像的那樣是作為一個重要的工作執行在windows中,你可以從任務管理器中停掉它,或者重新啟動。 通常不會對系統產生什麼負面影響。 internat.exe 這個工作是可以從任務管理器中關掉的。 internat.exe在啟動的時候開始執行。它載入由用戶指定的不同的輸入點。輸入點是從註冊表的這個位置 HKEY_USERS\.DEFAULT\Keyboard Layout\Preload 載入內容的。 internat.exe 載入「EN」圖示進入系統的圖示區,允許使用者可以很容易的轉換不同的輸入點。 當工作停掉的時候,圖示就會消失,但是輸入點仍然可以通過控制台來改變。 lsass.exe 這個工作是不可以從任務管理器中關掉的。 這是一個本機的安全授權服務,並且它會為使用winlogon服務的授權用戶產生一個工作。這個工作是 通過使用授權的包,例如預設的msgina.dll來執行的。如果授權是成功的,lsass就會產生用戶的進入 令牌,令牌別使用啟動初始的shell。其他的由用戶啟始化的工作會繼承這個令牌的。 mstask.exe 這個工作是不可以從任務管理器中關掉的。 這是一個任務調度服務,負責用戶事先決定在某一時間執行的任務的執行。 smss.exe 這個工作是不可以從任務管理器中關掉的。 這是一個會話管理子系統,負責啟動用戶會話。這個工作是通過系統工作啟始化的並且對許多活動的, 包括已經正在執行的Winlogon,Win32(Csrss.exe)線程和設定的系統變量作出反映。在它啟動這些 工作後,它等待Winlogon或者Csrss結束。如果這些過程時正常的,系統就關掉了。如果發生了什麼 不可預料的事情,smss.exe就會讓系統停止回應(就是掛起)。 spoolsv.exe 這個工作是不可以從任務管理器中關掉的。 緩衝(spooler)服務是管理緩衝池中的列印和傳真作業。 service.exe 這個工作是不可以從任務管理器中關掉的。 大多數的系統核心模式工作是作為系統工作在執行。 System Idle Process 這個工作是不可以從任務管理器中關掉的。 這個工作是作為單線程執行在每個處理器上,並在系統不處理其他線程的時候分派處理器的時間。 taskmagr.exe 這個工作是可以在任務管理器中關掉的。 這個工作就是任務管理器。 winlogon.exe 這個工作是管理用戶登錄和推出的。而且winlogon在用戶按下CTRL+ALT+DEL時就啟動了,顯示安全對話視窗。 winmgmt.exe winmgmt是win2000客戶端管理的核心組件。當客戶端應用程式連接或當管理程序需要他本身的服務時這個工作啟始化。 Q: 我用的是W2k,一般不會出現winmgmt.exe 這個工作。 一出現時,就可在事件檢視器裡見到這樣一個錯誤: 找不到名稱空間:\\root\ms 404 或類似的錯誤。 是什麼原因呢? A: 如何解決 WinMgmt.exe 產生錯誤 ``症狀: ``Window 2000 Professional 當機後,重啟,就發現提示: ``WinMgmt.exe 產生錯誤,會被Windows關閉。您需要重新啟動程序。 ``在事件檢視器中有如下信息: ``應用程式錯誤:WMI ADAP 無法處理性能庫:0x80041001。 ``解決辦法: ``如果%Syestemroot%\System32\Wbem\Repository文件毀壞,可能導致上述情況發生,可以做以下操作: ``1. 右My Computer,選擇Manage ``2. 在」services and application」下,選擇Services, 停掉Windows Management Instrumentation service ``3. 刪除Repository資料夾下的所有文件。 ``4. 從新開啟Windows Management Instrumentation service,被刪除的文件將根據註冊表中: ````HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs ``的信息重建。 ``注意: 有些程序不將MOF文件增加到註冊表列表中,重建的文件可能導致這些程序出錯。 |
送花文章: 3,
|