โฮมเพจ » ทำอย่างไร » กระบวนการโฮสต์บริการ (svchost.exe) คืออะไรและทำไมจึงมีจำนวนมากที่ใช้งานอยู่

    กระบวนการโฮสต์บริการ (svchost.exe) คืออะไรและทำไมจึงมีจำนวนมากที่ใช้งานอยู่

    หากคุณเคยเรียกดูผ่านตัวจัดการงานคุณอาจสงสัยว่าทำไมกระบวนการบริการโฮสต์ถึงทำงานมากมาย คุณไม่สามารถฆ่าพวกเขาและคุณแน่ใจว่าไม่ได้เริ่มต้นพวกเขา ดังนั้นพวกเขาคืออะไร?

    กระบวนการโฮสต์บริการทำหน้าที่เป็นเปลือกสำหรับการโหลดบริการจากไฟล์ DLL บริการถูกจัดเป็นกลุ่มที่เกี่ยวข้องและแต่ละกลุ่มจะทำงานภายในอินสแตนซ์ที่แตกต่างกันของกระบวนการโฮสต์บริการ ด้วยวิธีนี้ปัญหาในอินสแตนซ์หนึ่งจะไม่มีผลกับอินสแตนซ์อื่น กระบวนการนี้เป็นส่วนสำคัญของ Windows ที่คุณไม่สามารถป้องกันไม่ให้ทำงาน. 

    บทความนี้เป็นส่วนหนึ่งของชุดข้อมูลอย่างต่อเนื่องของเราที่อธิบายกระบวนการต่าง ๆ ที่พบในตัวจัดการงานเช่น dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe และอื่น ๆ อีกมากมาย ไม่ทราบว่าบริการเหล่านั้นคืออะไร? เริ่มอ่านได้ดีขึ้น!

    ดังนั้นกระบวนการโฮสต์บริการคืออะไร?

    นี่คือคำตอบตาม Microsoft:

    Svchost.exe เป็นชื่อกระบวนการโฮสต์ทั่วไปสำหรับบริการที่เรียกใช้จากไลบรารีการเชื่อมโยงแบบไดนามิก.

    แต่นั่นไม่ได้ช่วยอะไรเรามากนัก เมื่อนานมาแล้ว Microsoft เริ่มเปลี่ยนการใช้งาน Windows ส่วนใหญ่จากการพึ่งพาบริการ Windows ภายใน (ซึ่งเรียกใช้จากไฟล์ EXE) เป็นการใช้ไฟล์ DLL แทน จากมุมมองการเขียนโปรแกรมสิ่งนี้ทำให้โค้ดสามารถนำมาใช้ซ้ำได้มากขึ้นและง่ายต่อการอัพเดตให้ทันสมัยขึ้น ปัญหาคือคุณไม่สามารถเปิดไฟล์ DLL ได้โดยตรงจาก Windows ในลักษณะเดียวกับที่คุณสามารถเรียกใช้ไฟล์ได้ เชลล์ที่โหลดจากไฟล์เรียกทำงานจะถูกใช้แทนโฮสต์บริการ DLL เหล่านี้แทน ดังนั้นกระบวนการโฮสต์บริการ (svchost.exe) จึงเกิดขึ้น.

    เหตุใดจึงมีกระบวนการโฮสต์บริการจำนวนมากกำลังทำงาน?

    หากคุณเคยดูที่ส่วนบริการในแผงควบคุมคุณอาจสังเกตเห็นว่า Windows ต้องการบริการมากมาย หากทุกบริการเดียวทำงานภายใต้กระบวนการโฮสต์บริการหนึ่งกระบวนการความล้มเหลวในบริการเดียวอาจทำให้ Windows ทั้งหมดล้มเหลว แต่จะแยกออกจากกัน.

    บริการถูกจัดระเบียบเป็นกลุ่มตรรกะที่ค่อนข้างเกี่ยวข้องทั้งหมดจากนั้นอินสแตนซ์โฮสต์บริการเดียวจะถูกสร้างขึ้นเพื่อโฮสต์แต่ละกลุ่ม ตัวอย่างเช่นหนึ่งกระบวนการโฮสต์บริการเรียกใช้บริการสามที่เกี่ยวข้องกับไฟร์วอลล์ กระบวนการโฮสต์บริการอื่นอาจเรียกใช้บริการทั้งหมดที่เกี่ยวข้องกับส่วนต่อประสานผู้ใช้และอื่น ๆ ในภาพด้านล่างตัวอย่างเช่นคุณจะเห็นว่าหนึ่งกระบวนการโฮสต์บริการเรียกใช้บริการเครือข่ายที่เกี่ยวข้องหลายอย่างในขณะที่อีกกระบวนการหนึ่งทำงานบริการที่เกี่ยวข้องกับการเรียกขั้นตอนระยะไกล.

    มีอะไรให้ฉันทำกับข้อมูลทั้งหมดนี้?

    สุจริตไม่มาก ในยุคของ Windows XP (และเวอร์ชั่นก่อนหน้า) เมื่อพีซีมีทรัพยากรที่ จำกัด มากขึ้นและระบบปฏิบัติการไม่ได้รับการปรับแต่งอย่างละเอียดการหยุด Windows จากการรันบริการที่ไม่จำเป็นมักจะแนะนำ วันนี้เราไม่แนะนำให้ปิดบริการอีกต่อไป พีซีสมัยใหม่มักจะเต็มไปด้วยหน่วยความจำและโปรเซสเซอร์พลังสูง เพิ่มไปที่ข้อเท็จจริงที่ว่าบริการของ Windows ได้รับการจัดการในรุ่นที่ทันสมัย ​​(และบริการใดที่ทำงาน) ได้รับการปรับปรุงและกำจัดบริการที่คุณคิดว่าคุณไม่ต้องการจริงๆไม่มีผลกระทบอะไรอีกต่อไป.

    ที่กล่าวว่าหากคุณสังเกตเห็นว่าอินสแตนซ์เฉพาะของ Service Host หรือบริการที่เกี่ยวข้องนั้นเป็นสาเหตุของปัญหาเช่นการใช้งาน CPU หรือ RAM มากเกินไปอย่างต่อเนื่องคุณสามารถตรวจสอบบริการเฉพาะที่เกี่ยวข้อง อย่างน้อยนั่นอาจทำให้คุณทราบว่าจะเริ่มแก้ไขปัญหาได้อย่างไร มีสองสามวิธีในการดูว่าบริการใดที่โฮสต์โดยอินสแตนซ์เฉพาะของ Service Host คุณสามารถตรวจสอบสิ่งต่าง ๆ ภายในตัวจัดการงานหรือใช้แอปของบุคคลที่สามชื่อ Process Explorer.

    ตรวจสอบบริการที่เกี่ยวข้องในตัวจัดการงาน

    หากคุณใช้ Windows 8 หรือ 10 กระบวนการจะปรากฏในแท็บ "กระบวนการ" ของตัวจัดการงานโดยใช้ชื่อเต็ม หากกระบวนการทำหน้าที่เป็นโฮสต์สำหรับบริการหลาย ๆ บริการคุณสามารถดูบริการเหล่านั้นได้โดยเพียงแค่ขยายกระบวนการ ทำให้ง่ายต่อการระบุว่าบริการใดเป็นของแต่ละอินสแตนซ์ของกระบวนการโฮสต์บริการ.

    คุณสามารถคลิกขวาที่บริการใด ๆ เพื่อหยุดบริการดูในแอป“ บริการ” แผงควบคุมหรือค้นหาข้อมูลเกี่ยวกับบริการออนไลน์.

    หากคุณใช้ Windows 7 สิ่งต่าง ๆ จะแตกต่างกันเล็กน้อย ตัวจัดการงานของ Windows 7 ไม่ได้จัดกลุ่มกระบวนการในลักษณะเดียวกันและไม่ได้แสดงชื่อกระบวนการปกติเพียงแสดงอินสแตนซ์ทั้งหมดของ“ svchost.exe” ที่ทำงานอยู่ คุณต้องสำรวจเพื่อตรวจสอบบริการที่เกี่ยวข้องกับอินสแตนซ์เฉพาะของ“ svchost.exe”

    บนแท็บ“ กระบวนการ” ของตัวจัดการงานใน Windows 7 คลิกขวาที่กระบวนการ“ svchost.exe” จากนั้นเลือกตัวเลือก“ ไปที่บริการ”.

    สิ่งนี้จะพลิกคุณไปที่แท็บ“ บริการ” ซึ่งบริการที่ทำงานภายใต้กระบวนการ“ svchost.exe” ถูกเลือกทั้งหมด.

    จากนั้นคุณสามารถดูชื่อเต็มของแต่ละบริการในคอลัมน์“ คำอธิบาย” เพื่อให้คุณสามารถเลือกที่จะปิดการใช้งานบริการหากคุณไม่ต้องการให้มันทำงานหรือแก้ไขสาเหตุที่ทำให้คุณมีปัญหา.

    ตรวจสอบบริการที่เกี่ยวข้องโดยใช้ Process Explorer

    Microsoft ยังมีเครื่องมือขั้นสูงที่ยอดเยี่ยมสำหรับการทำงานกับกระบวนการต่างๆซึ่งเป็นส่วนหนึ่งของรายการ Sysinternals เพียงดาวน์โหลด Process Explorer และเรียกใช้มันเป็นแอพพกพาจึงไม่จำเป็นต้องติดตั้ง Process Explorer มีคุณสมบัติขั้นสูงทุกชนิดและเราขอแนะนำให้อ่านคู่มือของเราเพื่อทำความเข้าใจกับ Process Explorer เพื่อเรียนรู้เพิ่มเติม.

    เพื่อจุดประสงค์ของเราในที่นี้ Process Explorer จะจัดกลุ่มบริการที่เกี่ยวข้องภายใต้แต่ละอินสแตนซ์ของ“ svchost.exe” พวกเขาจะถูกแสดงรายการตามชื่อไฟล์ของพวกเขา นอกจากนี้คุณยังสามารถวางตัวชี้เมาส์เหนือกระบวนการ“ svchost.exe” ใด ๆ เพื่อดูป๊อปอัพที่มีบริการทั้งหมดที่เกี่ยวข้องกับกระบวนการนั้นแม้กระทั่งที่ไม่ได้ทำงานอยู่ในปัจจุบัน.

    กระบวนการนี้อาจเป็นไวรัส?

    กระบวนการนี้เป็นองค์ประกอบของ Windows อย่างเป็นทางการ แม้ว่าจะเป็นไปได้ว่าไวรัสได้เปลี่ยน Service Host จริงด้วยความสามารถในการปฏิบัติการของตัวเอง แต่ก็ไม่น่าเป็นไปได้ หากคุณต้องการให้แน่ใจว่าคุณสามารถตรวจสอบตำแหน่งไฟล์พื้นฐานของกระบวนการ ในตัวจัดการงานคลิกขวาที่กระบวนการโฮสต์บริการใด ๆ แล้วเลือกตัวเลือก“ เปิดไฟล์ตำแหน่ง”.

    หากไฟล์ถูกเก็บไว้ในโฟลเดอร์ Windows \ System32 ของคุณคุณสามารถมั่นใจได้ว่าคุณไม่ได้จัดการกับไวรัส.

    ที่กล่าวว่าหากคุณยังต้องการความอุ่นใจอีกเล็กน้อยคุณสามารถสแกนหาไวรัสโดยใช้เครื่องสแกนไวรัสที่คุณต้องการ ปลอดภัยกว่าดีกว่าขออภัย!