ما هي عملية مضيف الخدمة (svchost.exe) ولماذا العديد من الجري؟
إذا كنت قد تصفحت من خلال مدير المهام ، فربما تكون قد تساءلت عن سبب وجود العديد من عمليات Host Service قيد التشغيل. لا يمكنك قتلهم ، وأنت متأكد من عدم بدء تشغيلها. إذن ، ماذا هم؟?
تعمل عملية Host Service بمثابة shell لتحميل الخدمات من ملفات DLL. يتم تنظيم الخدمات في مجموعات ذات صلة ويتم تشغيل كل مجموعة داخل نسخة مختلفة من عملية مضيف الخدمة. بهذه الطريقة ، لا تؤثر مشكلة في مثيل واحد على الحالات الأخرى. هذه العملية جزء حيوي من Windows لا يمكنك منع تشغيله.
تعد هذه المقالة جزءًا من السلسلة المستمرة التي تشرح العمليات المختلفة الموجودة في "إدارة المهام" ، مثل dwm.exe و ctfmon.exe و mDNSResponder.exe و conhost.exe و rundll32.exe و Adobe_Updater.exe وغيرها الكثير. لا أعرف ما هي تلك الخدمات؟ قراءة أفضل بداية!
إذن ما هي عملية استضافة الخدمة?
إليك الإجابة ، وفقًا لمايكروسوفت:
Svchost.exe هو اسم عملية مضيف عام للخدمات التي يتم تشغيلها من مكتبات الارتباط الديناميكي.
لكن هذا لا يساعدنا كثيرًا حقًا. منذ بعض الوقت ، بدأت Microsoft في تغيير الكثير من وظائف Windows من الاعتماد على خدمات Windows الداخلية (التي تم تشغيلها من ملفات EXE) إلى استخدام ملفات DLL بدلاً من ذلك. من منظور البرمجة ، فإن هذا يجعل الشفرة أكثر قابلية لإعادة الاستخدام ، ويمكن القول إنه من الأسهل تحديثها باستمرار. المشكلة هي أنه لا يمكنك تشغيل ملف DLL مباشرة من Windows بنفس الطريقة التي يمكنك بها ملف قابل للتنفيذ. بدلاً من ذلك ، يتم استخدام shell التي يتم تحميلها من ملف قابل للتنفيذ لاستضافة خدمات 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".
يمكنك بعد ذلك مشاهدة الاسم الكامل لكل خدمة في عمود "الوصف" ، بحيث يمكنك اختيار تعطيل الخدمة إذا كنت لا ترغب في تشغيلها أو تحرّي الخلل وإصلاحه لماذا يعطيك مشكلات.
تحقق من الخدمات ذات الصلة باستخدام مستكشف العمليات
توفر Microsoft أيضًا أداة متقدمة ممتازة للعمل مع العمليات كجزء من مجموعة Sysinternals الخاصة بها. ما عليك سوى تنزيل Process Explorer وتشغيله ، وهو تطبيق محمول ، لذلك لا داعي لتثبيته. يوفر Process Explorer جميع أنواع الميزات المتقدمة - ونوصي بشدة بقراءة دليلنا لفهم Process Explorer لمعرفة المزيد.
لأغراضنا هنا ، على الرغم من ذلك ، يقوم Process Explorer بتجميع الخدمات ذات الصلة تحت كل مثيل من "svchost.exe". يتم سردها بأسماء ملفاتها ، ولكن تظهر أيضًا أسماءها الكاملة في عمود "الوصف". يمكنك أيضًا تمرير مؤشر الماوس فوق أي من عمليات "svchost.exe" لرؤية نافذة منبثقة تحتوي على جميع الخدمات المتعلقة بتلك العملية - حتى تلك التي لا تعمل حاليًا.
يمكن أن تكون هذه العملية فيروس?
العملية نفسها هي أحد مكونات Windows الرسمية. في حين أنه من الممكن أن يكون الفيروس قد حل محل مضيف الخدمة الحقيقي مع برنامج قابل للتنفيذ من تلقاء نفسه ، فمن غير المحتمل جدا. إذا كنت ترغب في التأكد ، يمكنك التحقق من موقع الملف الأساسي للعملية. في "إدارة المهام" ، انقر بزر الماوس الأيمن فوق أي عملية "خدمة مضيف" واختر الخيار "فتح موقع الملف".
إذا كان الملف مخزّناً في مجلد Windows \ System32 ، فيمكنك أن تكون متأكدًا تمامًا أنك لا تتعامل مع فيروس.
ومع ذلك ، إذا كنت لا تزال تريد المزيد من راحة البال ، فيمكنك دائمًا البحث عن الفيروسات باستخدام ماسح الفيروسات المفضل لديك. آمن أفضل من آسف!