النقاط الرئيسية
عملية مضيف الخدمة (svchost.exe) عبارة عن غلاف لتحميل الخدمات من ملفات DLL. يتم تنظيم الخدمات في مجموعات، ويتم تشغيل كل مجموعة داخل مثيل مختلف لعملية مضيف الخدمة. عادةً ما يكون هناك العديد من حالات تشغيل svchost.exe لأن Windows يتطلب العديد من الخدمات للعمل بشكل صحيح.
إذا سبق لك تصفح “إدارة المهام”، فقد تتساءل عن سبب وجود العديد من عمليات Service Host قيد التشغيل. لا يمكنك إيقافها، ومن المؤكد أنك لم تبدأ تشغيلها. إذن، ما هي؟
ما هي عملية استضافة الخدمة؟
إليكم الإجابة، وفقًا لمايكروسوفت:
Svchost.exe هو اسم عملية مضيفة عامة للخدمات التي يتم تشغيلها من مكتبات الارتباط الديناميكي.
ولكن هذا لا يساعدنا كثيرًا. فمنذ بعض الوقت، بدأت شركة Microsoft في تغيير الكثير من وظائف Windows من الاعتماد على خدمات Windows الداخلية (التي تعمل من ملفات EXE) إلى استخدام ملفات DLL بدلاً من ذلك. ومن منظور البرمجة، يجعل هذا الكود أكثر قابلية لإعادة الاستخدام ويمكن القول إنه أسهل في التحديث. تكمن المشكلة في أنه لا يمكنك تشغيل ملف DLL مباشرة من Windows بنفس الطريقة التي يمكنك بها تشغيل ملف قابل للتنفيذ. بدلاً من ذلك، يتم استخدام غلاف يتم تحميله من ملف قابل للتنفيذ لاستضافة خدمات DLL هذه. وهكذا ولدت عملية Service Host (svchost.exe).
لماذا يتم تشغيل العديد من عمليات استضافة الخدمة؟
إذا ألقيت نظرة على قسم الخدمات في لوحة التحكم، فربما لاحظت أن نظام التشغيل Windows يتطلب الكثير من الخدمات. إذا كانت كل خدمة تعمل ضمن عملية مضيف خدمة واحدة، فقد يؤدي فشل إحدى الخدمات إلى تعطيل نظام التشغيل Windows بالكامل. وبدلاً من ذلك، يتم فصلها.
يتم تنظيم الخدمات في مجموعات منطقية ترتبط جميعها ببعضها البعض إلى حد ما، ثم يتم إنشاء مثيل واحد لمضيف الخدمة لاستضافة كل مجموعة. على سبيل المثال، تقوم عملية مضيف خدمة واحدة بتشغيل الخدمات الثلاث المرتبطة بجدار الحماية. وقد تقوم عملية مضيف خدمة أخرى بتشغيل جميع الخدمات المرتبطة بواجهة المستخدم، وهكذا. في الصورة أدناه، على سبيل المثال، يمكنك أن ترى أن عملية مضيف خدمة واحدة تقوم بتشغيل العديد من خدمات الشبكة المرتبطة، بينما تقوم عملية أخرى بتشغيل الخدمات المرتبطة باستدعاءات الإجراءات عن بُعد.
هل بإمكاني أن أفعل أي شيء بكل هذه المعلومات؟
بصراحة، ليس كثيرًا. في أيام Windows XP (والإصدارات السابقة)، عندما كانت موارد أجهزة الكمبيوتر الشخصية محدودة للغاية ولم تكن أنظمة التشغيل دقيقة تمامًا، كان من الموصى به غالبًا إيقاف تشغيل Windows للخدمات غير الضرورية. في هذه الأيام، لم نعد نوصي بتعطيل الخدمات. تميل أجهزة الكمبيوتر الشخصية الحديثة إلى تحميلها بالذاكرة والمعالجات عالية الطاقة. أضف إلى ذلك حقيقة أن الطريقة التي يتم بها التعامل مع خدمات Windows في الإصدارات الحديثة (والخدمات التي يتم تشغيلها) قد تم تبسيطها، ولم يعد إلغاء الخدمات التي تعتقد أنك لا تحتاج إليها له تأثير كبير بعد الآن.
مع ذلك، إذا لاحظت أن مثيلًا معينًا من Service Host — أو خدمة ذات صلة — يتسبب في حدوث مشكلة، مثل الاستخدام المفرط المستمر لوحدة المعالجة المركزية أو ذاكرة الوصول العشوائي، فيمكنك التحقق من الخدمات المحددة المعنية. قد يمنحك هذا على الأقل فكرة عن المكان الذي تبدأ فيه استكشاف الأخطاء وإصلاحها. هناك بعض الطرق التي يمكنك من خلالها معرفة الخدمات التي يستضيفها مثيل معين من Service Host على وجه التحديد. يمكنك التحقق من الأشياء داخل Task Manager (إدارة المهام) أو استخدام تطبيق رائع تابع لجهة خارجية يسمى Process Explorer.
التحقق من الخدمات ذات الصلة في “إدارة المهام”
إذا كنت تستخدم Windows 10 أو Windows 11، يتم عرض العمليات في علامة التبويب “العمليات” في “إدارة المهام” بأسمائها الكاملة. إذا كانت إحدى العمليات تعمل كمضيف لخدمات متعددة، فيمكنك رؤية هذه الخدمات ببساطة عن طريق توسيع العملية. وهذا يجعل من السهل جدًا تحديد الخدمات التي تنتمي إلى كل مثيل لعملية مضيف الخدمة.
بإمكانك النقر بزر الماوس الأيمن فوق أي خدمة فردية لإيقاف الخدمة، أو عرضها في تطبيق لوحة التحكم “الخدمات”، أو حتى البحث عبر الإنترنت عن معلومات حول الخدمة.
إذا كنت تستخدم نظام التشغيل Windows 7، فالأمر مختلف بعض الشيء. لم يقم “إدارة المهام” في نظام التشغيل Windows 7 بتجميع العمليات بنفس الطريقة، ولم يعرض أسماء العمليات العادية — بل عرض فقط جميع حالات تشغيل “svchost.exe”. كان عليك استكشاف الأمر قليلاً لتحديد الخدمات المرتبطة بأي حالة معينة من “svchost.exe”.
في علامة التبويب “العمليات” في “إدارة المهام” في نظام التشغيل Windows 7، انقر بزر الماوس الأيمن فوق عملية “svchost.exe” معينة، ثم اختر خيار “الانتقال إلى الخدمة”.
سيؤدي هذا إلى نقلك إلى علامة التبويب “الخدمات”، حيث يتم تحديد جميع الخدمات التي تعمل ضمن عملية “svchost.exe”.
يمكنك بعد ذلك رؤية الاسم الكامل لكل خدمة في عمود “الوصف”، حتى تتمكن من اختيار تعطيل الخدمة إذا كنت لا تريد تشغيلها أو استكشاف سبب حدوث مشكلات لديك.
التحقق من الخدمات ذات الصلة باستخدام Process Explorer
توفر Microsoft أيضًا أداة متقدمة ممتازة للعمل مع العمليات كجزء من مجموعة Sysinternals الخاصة بها. ما عليك سوى تنزيل مستكشف العمليات ويمكنك تشغيله — فهو تطبيق محمول، لذا لا حاجة إلى تثبيته. يوفر Process Explorer جميع أنواع الميزات المتقدمة — ونوصي بشدة بقراءة دليلنا لفهم Process Explorer لمعرفة المزيد.
ولكن لأغراضنا هنا، يقوم Process Explorer بتجميع الخدمات ذات الصلة تحت كل حالة من حالات “svchost.exe”. ويتم إدراجها حسب أسماء ملفاتها، ولكن يتم عرض أسمائها الكاملة أيضًا في عمود “الوصف”. ويمكنك أيضًا تحريك مؤشر الماوس فوق أي من عمليات “svchost.exe” لرؤية نافذة منبثقة تحتوي على جميع الخدمات ذات الصلة بهذه العملية — حتى تلك التي لا تعمل حاليًا.
هل عملية استضافة الخدمة فيروس؟
العملية نفسها عبارة عن مكون رسمي لنظام Windows. ورغم أنه من الممكن أن يكون الفيروس قد استبدل مضيف الخدمة الحقيقي بملف قابل للتنفيذ خاص به، إلا أن هذا غير مرجح للغاية. وإذا كنت ترغب في التأكد، فيمكنك التحقق من موقع الملف الأساسي للعملية. في “إدارة المهام”، انقر بزر الماوس الأيمن فوق أي عملية مضيف خدمة واختر خيار “فتح موقع الملف”.
إذا تم تخزين الملف في المجلد Windows\System32، فيمكنك التأكد إلى حد ما من أنك لا تتعامل مع فيروس.
ومع ذلك، إذا كنت لا تزال ترغب في مزيد من راحة البال، فيمكنك دائمًا البحث عن الفيروسات باستخدام برنامج مكافحة الفيروسات المفضل لديك. فالأمان أفضل من الندم!