Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 10

COM Surrogate (dllhost.exe) คืออะไร และทำไมมันถึงรันบน PC ของฉัน?

การดูรายการ processes บน Windows computer ด้วย Task Manager เป็นสูตรสำหรับ paranoia มี strange-sounding programs รันเยอะ และมักไม่มีทางให้คุณรู้ว่าอะไรดีหรือแย่สำหรับ PC COM surrogate dllhost.exe เป็นเพียง process หนึ่ง แต่ mundane กว่าที่คุณคิด

COM Surrogate (dllhost.exe) คืออะไร?

COM ย่อมาจาก Component Object Model นี่คือสิ่งที่ Microsoft introduce ในช่วงต้น 90s เพื่อทำให้ programmers extend functionality ของ existing software ได้ง่าย กล่าวอีกนัยหนึ่ง มันค่อนข้างคล้าย plugin system ที่ให้คุณ add new functions ให้ existing programs เช่น Windows Explorer

สิ่งนี้ดีสำหรับ dynamically improving สิ่งที่โปรแกรมทำได้ แต่มันมี downside หาก COM module coded แย่หรือ crash เพราะเหตุผลใดเหตุผลหนึ่ง มันก็จะ crash โปรแกรมที่มัน plug เข้าไปด้วย เพราะทั้ง COM และ main program รันเป็น one process

นี่คือที่ที่ COM surrogates เข้ามา Approach นี้ให้ COM รันใน separate process ของมันเอง เหมือนว่าเป็นโปรแกรมของมันเอง Main program และ COM surrogate processes คุยกันตามต้องการ แต่หาก COM surrogate crash เพราะเหตุผลใดก็ตาม มันไม่ทำให้อะไร crash นอกจาก own process ของมันเอง ทำให้ระบบ stable มากขึ้น

COM Surrogate (dllhost.exe) ปลอดภัยไหม?

ว่า dllhost.exe ปลอดภัยหรือไม่ เป็นคำถามที่ยากที่จะตอบ เพราะมันขึ้นอยู่กับ COM เฉพาะที่กำลังรัน ปกติพวกมัน host benign processes ที่ทำ useful things แต่ไม่ได้อยู่นอกเหนือจากความเป็นไปได้ที่ badly-coded COM หรือ malware piggybacking บน COM surrogate framework อาจก่อให้เกิด damage หรือ execute malicious code

การหา Location ของ COM Surrogate

มีเพียง one legitimate location สำหรับ dllhost.exe file และนั่นคือภายใน System32 folder ใน Windows folder Default path คือ Windows > System32 บน system drive System drive ปกติคือ C drive หากคุณเจอไฟล์นี้ที่อื่น อาจเป็น virus ตรวจสอบให้แน่ใจ!

การตรวจสอบ Legitimacy ของ COM Surrogate

như đãกล่าวข้างต้น COM surrogate ที่คุณเห็นใน Task manager ไม่ใช่ specific application มันแค่ shell สำหรับ process อื่น เนื่องจากเราไม่สามารถได้ insight ง่ายๆ เข้าไปในสิ่งที่ run ภายใน COM surrogate process เฉพาะเจาะจง วิธีจริงๆ เพียงอย่างเดียวในการตรวจสอบ suspicious behavior คือใช้ antivirus program

โดยปกติคุณควร run antivirus program เป็นประจำอยู่แล้ว แต่หากคุณเห็น COM surrogate ที่ใช้ resources มากหรือก่อให้เกิด system instability นั่นอาจเป็นอธิบายหนึ่ง

อีกด้านหนึ่ง COM surrogate process นั้นอาจแค่ buggy มากกว่า malicious หากคุณ save documents ทั้งหมดแล้ว คุณสามารถลอง forcibly end COM surrogate process ที่กำหนด เพื่อดูว่ามันทำอะไร อย่างใดที่ crash หรือ hang โดยตรงหลังจาก kill process นั้น น่าจะเป็น associated program เมื่อคุณ identify most likely culprit แล้ว คุณจะต้อง reboot คอมพิวเตอร์

การแก้ไข COM Surrogate Errors

COM surrogate errors เกิดขึ้นบ้าง และน่าจะเป็น most common reason ที่คนค้นหาชื่อ process นี้ Error "COM surrogate has stopped working" อาจดู cryptic ตอนแรก ตอนนี้คุณรู้ว่า COM surrogate ทำอะไร มันชัดเจนว่า process กำลังทำงานของมัน

COM surrogate ควรปกป้อง program extensions จากการ crash main process ที่พวกมัน extend ดังนั้น cause ของ error นี้สามารถ trace back ไปยัง COM module ใดๆ ที่รันภายใน surrogate

ไม่มี easy way ที่จะรู้ว่าเป็น COM ไหน เพราะ surrogate เอง mask specific COM ภายใน มี several likely suspects:

  • Third-party video codecs ล้าสมัย หากคุณมี ให้ remove หรือ update พวกมัน
  • Antivirus program ของคุณอาจ interfere กับ COM surrogate Disable ชั่วคราว หากดูเหมือนเป็นปัญหา ให้ switch ไป antivirus อื่น หรือลอง update ของคุณไป latest version หาก applicable
  • ตรวจสอบ disk errors ด้วย utility เช่น CHKDSK
  • ตรวจสอบ system files corruption ด้วย System File Checker
  • Roll back recent driver updates หรือ update display และ printer drivers โดยเฉพาะ ลองทั้ง standard manufacturer GPU driver และ OEM version หาก applicable สำหรับคอมพิวเตอร์ของคุณ

หากคุณอยากรู้วิธี diagnose exactly ว่า COM ไหนรันภายใน surrogate มี technical solution มากกว่า

ตรวจสอบภายใน COM Surrogate Process ด้วย Process Explorer

Microsoft มี optional utility ชื่อ Process Explorer มีประโยชน์หลายอย่าง ตัวอย่างเช่น หากคุณถูกบอกว่า delete folder ได้เพราะโปรแกรมมีมันเปิดอยู่ คุณสามารถใช้ Process Explorer ดูว่าโปรแกรมไหน และ force มัน close โดยไม่ต้อง restart ทั้ง computer

เพียง download และ run Process Explorer และคุณจะเห็น Window ประมาณนี้:

จำไว้ว่า COM Surrogate จริงๆ เรียกว่า dllhost.exe ดังนั้นหา entry นั้น และ hover mouse pointer ไปบนมัน ใน popup เล็กๆ คุณจะเห็นว่า DLL file ไหนถูก hosted ปกติแล้วข้อมูลนี้เพียงพอที่จะรู้ว่าโปรแกรมไหน connected กับมัน หากไม่ชัดเจนจาก DLL name คุณสามารถ Google มันเพื่อคำตอบที่แน่ชัดกว่า

COM On Over for a Party

สรุป ตอนนี้คุณรู้ว่า COMs คืออะไร COM surrogate ทำอะไร วิธี fix common issues และวิธี figure out ว่าคุณ deal กับ COM ไหน ซึ่งหวังว่าจะ clear COM-related problems ของคุณให้หมดแล้ว