Service Host Process چیست و چرا اجرا می شود؟
اگر شما هم سری به Task Manager ویندوز زده باشید، قطعا تعدد پردازشهایی با عنوان Service Host نظرتان را به خود جلب کرده است. جالب است که شما این پردازشها را اجرا نکردهاید؛ اما میتوانید با راست کلیک و انتخاب گزینهی End Task این پردازشها را خاتمه دهید. اگر گاهی از خود پرسیدهاید که این پردازشها چگونه و به چه دلیل اجرا میشوند، پیشنهاد میکنیم تا انتهای این مطلب ما را همراهی کنید.
مدتی پیش مایکروسافت در یک تغییر رویهی کلی تصمیم گرفت بهجای اجرای بسیاری از سرویسهای ویندوز در قالب فایلهای اجرایی (exe)، آنها را در قالب فایلهای DLL اجرا کند. این فایلها مجموعهای از کدها و دستورات هستند که بهطور مستقل اجرا نمیشوند اما توسط دیگر برنامهها مورد استفاده قرار میگیرند. برای مثال یک DLL که حاوی کدهایی جهت ارتباط با چاپگر است، میتواند بهطور مشترک توسط برنامههایی همچون Word یا Adobe Reader مورد استفاده قرار گیرد. مزیت اصلی استفاده از DLL سهولت در بهروزرسانی آن و قابلیت استفادهی مجدد در برنامه های مختلف است. در این میان، وظیفهی «پردازش میزبان سرویس» یا همان Service Host Process اجرای DLL-ها جهت استفاده در برنامههای مختلف است.
دلیل تعداد زیاد این پردازش ها چیست؟
اگر سری به قسمت سرویسها (Services) در کنترل پنل ویندوز بزنید، متوجه میشوید که ویندوز از سرویسهای متعددی استفاده میکند. حال اگر تمام این سرویسها تحت یک پردازش واحد اجرا شوند، در صورت بروز خطا در یک سرویس، تمام سرویسها متوقف خواهند شد و این امر موجب اشکال در اجرای ویندوز میشود. به همین دلیل ویندوز پردازشها را در گروههای مختلفی دستبندی میکند.
ویندوز سرویسها را بهطور منطقی و بر اساس کارکردشان دستبندی میکند. برای مثال سرویس های مرتبط با Firewall تحت یک پردازش و سرویسهای مرتبط با رابط کاربری (UI) تحت پردازش جداگانهای اجرا میشوند. همانگونه که در تصویر زیر مشاهده میکنید، سرویسهای مرتبط با شبکه و سرویسهای مرتبط با Remote Procedure Call تحت پردازشهای جداگانهای در حال اجرا هستند.
آیا لازم است این پردازشها را کنترل کنیم؟
در روزگار حکمرانی ویندوز XP بر کامپیوترهای شخصی، اغلب کامپیوترها از منابع قابل توجهی بهرهمند نبودند و سیستم عامل ویندوز نیز چندان بهینه نشده بود. به همین دلیل، به کاربران توصیه میشد سرویسهای اضافه را متوقف کنند. اما امروزه از یک طرف ظرفیت حافظه و قدرت پردازندهی کامپیوترهای شخصی چند برابر شده است و از طرفی سیستم عامل ویندوز بهخوبی اجرای سرویسهای مختلف را مدیریت میکند. با این تفاسیر، متوقف کردن یک یا چند سرویس تأثیر چندانی بر بهبود سرعت و عملکرد کامپیوتر شما نخواهد داشت.
با این وجود، اگر متوجه شدید یک پردازش یا سرویس خاص موجب بروز مشکلاتی نظیر مصرف بیش از اندازه و دائمی حافظه یا پردازنده میشود، این امکان را خواهید داشت که با بررسی سرویس یا پردازش مربوطه، راهی برای رفع مشکلات به وجود آمده پیدا کنید. این کار را میتوانید از طریق Task Manager ویندوز یا برنامهای موسوم به Process Explorer انجام دهید.
بررسی سرویس ها با Task Manager
اگر از ویندوز ۸ یا ۱۰ استفاده میکنید، میتوانید در قسمت Processes در برنامهی Task Manager لیست پردازشها را مشاهده کنید. اگر یک پردازش خاص به اجرای چند سرویس مختلف اختصاص یافته باشد، میتوانید با کلیک روی فلش کنارِ آن، لیست سرویسها را مشاهده کنید.
با راست کلیک روی هر سرویس میتوانید آن را متوقف کنید اطلاعات مربوط به آن را در اینترنت جستجو کنید یا برنامهی مدیریت سرویسهای ویندوز را اجرا کنید.
اگر از ویندوز ۷ استفاده میکنید، Task Manager ویندوز ۷ سرویسها را بهطور جداگانه دستبندی نمیکند و نام اختصاصی هر پردازش را نیز نشان نمیدهد. در عوض به تعداد پردازشها گزینه svchost.exe در قسمت Processes دیده میشود. برای مشاهده سرویسهایی که تحت یک پردازش خاص در حال اجرا هستند، کافی است روی عبارت svchost.exe راست کلیک و گزینهی Go to Service را انتخاب کنید.
با انتخاب گزینهی Go to Services به قسمت Services در برنامهی Task Manager منتقل میشوید و سرویسهای مربوطه بهصورت هایلایت شده نشان داده میشوند.
میتوانید توضیحات مربوط به هر سرویس را در قسمت Description مشاهده کنید. همچنین میتوانید از همین قسمت سرویسها را غیرفعال کنید.
بررسی سرویس ها به وسیله ی Process Explorer
برنامهی Process Explorer ابزاری عالی برای کسب اطلاعات در مورد پردازشها است. این برنامه نیاز به نصب شدن ندارد و کافی است آن را از این لینک دانلود و سپس اجرا کنید.
این برنامه همچون Task Manager ویندوز ۸ و ۱۰، پردازشها را بهطور جداگانه دستبندی میکند. در ستون Process، به ازای هر پردازش یکبار عبارت svchost.exe را مشاهده میکنید و در ستون Description نیز عنوان کامل هر پردازش ذکر شده است. بهعلاوه، با قرار دادن نشانگر ماوس روی عبارت svchost.exe، میتوانید لیستی از سرویسهایی که تحت آن پردازش در حال اجرا هستند یا قبلا اجرا شدهاند، مشاهده کنید.
آیا این پردازش ها میتوانند با ویروس ها در ارتباط باشند؟
پردازشهای میزبان سرویس یا همان Service Host Process یکی از بخشهای اصلی سیستم عامل ویندوز هستند. با این وجود، این احتمال وجود دارد که یک بدافزار خود را در قالب فایل svchost.exe قرار داده باشد؛ هرچند که احتمال چنین مسئلهای بسیار ناچیز است. در هر صورت جهت کسب اطمینان، میتوانید در برنامهی Task Manager روی پردازش موردنظرتان راست کلیک و گزینهی Open File Location را انتخاب کنید.
در صورتی که فایل اجرایی در زیرشاخهی windows\System32 قرار داشت، احتمال ویروسی بودن این فایل بسیار کم خواهد بود.
در هر حال، جهت اطمینان بیشتر میتوانید با یک آنتیویروس، فایل svchost.exe را اسکن کنید.
منبع:زومیت