มีหกอินสแตนซ์ที่ทำงานบนเดสก์ท็อปของฉันและอาจเป็นสิบบนเซิร์ฟเวอร์ที่ฉันจัดการ นี่คืออะไรและมีความสำคัญต่อการทำงานของระบบหรือไม่
มีหกอินสแตนซ์ที่ทำงานบนเดสก์ท็อปของฉันและอาจเป็นสิบบนเซิร์ฟเวอร์ที่ฉันจัดการ นี่คืออะไรและมีความสำคัญต่อการทำงานของระบบหรือไม่
คำตอบ:
Svchost บริการโฮสต์ใน Windows ดูKB หากคุณใช้Process Explorerคุณจะเห็นว่าบริการใดบ้างที่กำลังทำงานอยู่ในกระบวนการเฉพาะ
องค์ประกอบการดำเนินการหลายอย่างของ Windows ได้รับการปรับใช้ให้เป็นบริการ (ดูบริการทั้งหมดที่เปิดในเครื่องของคุณControl Panel > Administrative Tools > Services
) เป็นโปรแกรมพิเศษที่ทำงานอยู่เบื้องหลัง พวกเขาไม่ได้เริ่มต้นโดยผู้ใช้ที่เข้าสู่ระบบ แต่เป็นระบบปฏิบัติการของฉันเอง
บริการส่วนใหญ่จะไม่สามารถทำงานได้แบบเอกเทศ (ไฟล์ EXE) แต่มีการใช้งานในไลบรารี (DLL) ซึ่งสามารถใช้งานได้โดยกระบวนการที่กำลังทำงานอยู่ ตามชื่อที่แนะนำ Svchost หรือ "Service Host" นั้นเป็นมาตรฐานของ Windows สำหรับการเรียกใช้ DLLs เหล่านี้ คุณสามารถค้นหาไฟล์ svchost.exe ใน%systemroot%\system32
ไดเรกทอรี
หากคุณต้องการทราบว่าอินสแตนซ์ของ svchost กำลังดำเนินการบริการใดให้พิมพ์
tasklist /svc /fi "IMAGENAME eq svchost.exe"
บนคอนโซลบรรทัดรับคำสั่ง (cmd)
บนเครื่องที่ฉันทำสกรีนช็อตหนึ่งในอินสแตนซ์ของ svchost กำลังเรียกใช้บริการที่แตกต่างกัน 21 บริการ การจัดกลุ่มของบริการนี้จะช่วยให้การควบคุมที่ดีและแก้จุดบกพร่องได้ง่ายขึ้นตามเอกสารไมโครซอฟท์
กลุ่ม Svchost.exe ถูกระบุในรีจิสตรีคีย์ต่อไปนี้:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost
เคล็ดลับ (ถ้าคุณเรียกใช้ Windows Vista, Windows 7 หรือ Windows Server 2008): คุณสามารถเปิดตัวจัดการงานและคลิกขวาที่กระบวนการ svchost.exe โดยเฉพาะจากนั้นเลือกตัวเลือก "ไปที่บริการ" นี่จะแสดงแท็บบริการโดยที่บริการทั้งหมดที่ทำงานภายใต้svchost.exe
กระบวนการที่เลือกจะถูกทำเครื่องหมาย
มีเอกสารที่น่าสนใจในศูนย์ดาวน์โหลดของ Microsoft:
การอ้างอิงบริการระบบ Microsoft Windows Server 2003
เอกสารนี้มีบทสรุปบริการทั้งหมดที่มีให้สำหรับตระกูล Windows Server 2003 ของระบบปฏิบัติการ บริการจะแสดงตามลำดับตัวอักษรตามชื่อที่แสดง ตามคำอธิบายของแต่ละบริการตารางจะแสดงข้อมูลสำคัญเกี่ยวกับบริการ
บริการ Windows ทุกรายการจะแสดงพร้อมรายละเอียดทั้งหมด ตัวอย่างเช่นคุณได้เรียนรู้ว่าชื่อไฟล์ที่เรียกใช้งานได้ของบริการ Terminal Services คือ
svchost.exe -k termsvcs
Svchost ย่อมาจาก "Service Host" มันทำให้บริการส่วนใหญ่ในเครื่องของคุณทำงาน จะมีบริการบางอย่างที่โฮสต์ตัวเองในไฟล์. exe ของตัวเอง แต่บริการส่วนใหญ่ของ Windows จะต้องถูกโฮสต์ภายในกระบวนการ svchost.exe บริการบนเครื่องของคุณจัดการกับสิ่งสำคัญเช่นระบบเครือข่ายเซิร์ฟเวอร์ RpC เสียงบันทึกเหตุการณ์ ฯลฯ
พิมพ์ "services.msc" ใน Start-> Run เพื่อดูบริการที่คุณใช้บนเครื่องของคุณ หากคุณเห็นว่าไม่มีใครรู้คุณสามารถหยุดให้บริการได้
พิมพ์ "tasklist / SVC" เพื่อดูว่าบริการใดที่โฮสต์อยู่โดยไฟล์ svchost.exe ที่แตกต่างกัน
นี่คือ PowerShell one-liner ที่ให้บริการทั้งหมดที่โฮสต์ในกระบวนการ svchost.exe:
PS>get-process svchost | % {get-wmiobject win32_service -filter "processid=$($_.id)"} | format-table processid,name,displayname,state,status -auto
processid name displayname state status
--------- ---- ----------- ----- ------
316 HTTPFilter HTTP SSL Running OK
1328 DcomLaunch DCOM Server Process Launcher Running OK
1328 TermService Terminal Services Running OK
1392 RpcSs Remote Procedure Call (RPC) Running OK
1528 AudioSrv Windows Audio Running OK
1528 BITS Background Intelligent Transfer Service Running OK
1528 Browser Computer Browser Running OK
เวอร์ชั่นที่สั้นกว่าของซับแบบหนึ่งจะเป็นดังนี้:
gps svchost | % {gwmi win32_service -f "processid=$($_.id)"} | ft proc*,name,disp*,stat* -auto
บทความนี้อาจช่วยให้: http://www.gfi.com/blog/exploring-svchostexe-part-1/