یکی از پردازشهایی که در تاسک منیجر ویندوز بارها دیدهایم، به فایل اجرایی svchost.exe مربوط میشود. نکتهی جالب این است که این پردازش گاهی یک مورد نیست بلکه تعداد زیادی پردازش با این عنوان اجرا میشود و ممکن است کاربر تصور کند که با ویروس svchost طرف است و سیستم نیاز به ویروسکشی دارد. گاهی اوقات نیز مصرف اینترنت svchost.exe زیاد است و کاربر در جستجوی پاسخ این سوال است که چگونه svchost.exe را غیر فعال کنیم. به صورت خلاصه میتوان گفت که svchost.exe یک سرویس یا پوسته برای بارگذاری سرویسهای دیگر از طریق فایلهای DLL است. به همین جهت گاهی چندین بار به صورت موازی اجرا میشود.
در ادامه با سرویس svchost در ویندوز بیشتر آشنا میشویم. با سیارهی آی تی همراه شوید.
Svchost چیست؟
فایل اجرایی svchost.exe که نام آن مخفف Service Host process است، یک پردازش برای بارگذاری سرویسهای مختلف است که با باز کردن فایلهای DLL، این کار را انجام میدهد. ممکن است در یک لحظه، چند مرتبه این فایل اجرا شده باشد و سرویسهای مختلفی با بارگذاری چنیدن فایل DLL اجرا شده باشد که کاربردشان متنوع است.
با توجه به تنوع کاربرد svchost.exe، مشکلات مختلفی در ارتباط با آن پیش میآید. به عنوان مثال ممکن است پردازش خاصی اجرا شود که موجب افزایش مصرف اینترنت شود. در واقع svchost.exe مصرف اینترنت ندارد بلکه فایل DLL و سرویسی که بارگذاری کرده، نیاز به اینترنت دارد. به همین صورت زمانی که مصرف پردازنده توسط svchost.exe بالا میرود یا مصرف رم توسط پردازش svchost زیاد میشود، نمیتوان آن را به راحتی و از طریق Task Manager ویندوز بست چرا که ممکن است کار مهمی که در ویندوز در حال انجام است، متوقف شود! در این شرایط باید ابتدا بررسی کنید که کدام فایل DLL و سرویس بارگذاری شده و در مورد آن تحقیق و بررسی کنید.
دقت کنید که مایکروسافت در طراحی ویندوز و سرویسهای ویندوز، پردازشهای مختلفی را به کمک svchost.exe راهاندازی میکند که در واقع جزو پردازشهای اصلی و کاربردی ویندوز محسوب میشوند و مشکل خاصی ندارند. در تصویر زیر نمونهای از چند سرویس ویندوزی که توسط Service Host process اجرا شده را مشاهده میکنید. در صورت بروز مشکل نیز میتوان از ویندوز آپدیت استفاده کرد و با بروزرسانی سیستم عامل، اشکالات خاص را برطرف کرد.
چگونه سرویس های اجرا شده توسط svchost را پیدا کنیم؟
زمانی که سیستم ویندوزی کند عمل میکند و با نگاه کردن به لیست پردازشها در تاسک منیجر متوجه میشوید که تعدادی پردازش با نام کلی svchost اجرا شده و درصد بالایی از قدرت پردازشی cpu توسط svchost استفاده میشود یا به همین صورت مقدار زیادی رم به آن اختصاص پیدا کرده، میبایست در مورد سرویسهای اجرا شده اطلاعات بیشتری به دست آورید تا مشکل را ریشه یابی و حل کنید. همانطور که اشاره کردیم رفع مشکل svchost در ویندوز به سادگی گوگل کردن عبارت چگونه svchost.exe را غیر فعال کنیم و بستن اجباری پردازشهای مختلف نیست!
برای کسب اطلاعات بیشتر ابتدا تاسک منیجر را اجرا کنید. در ویندوز 11 یا ویندوز ۱۰ برای اجرا کردن تاسک منیجر میتوانید روی تسک بار یا نوار پایین صفحه راست کلیک کنید و Task Manager را انتخاب کنید. در سایر ویندوزها ساده ترین روش اجرا کردن تاسک منیجر، استفاده از کلید میانبر Ctrl + Shift + Esc است که هر سه در سمت چپ کیبوردها قرار دارند.
پس از باز کردن تاسک منیجر اگر حالت ساده آن ظاهر شده، روی More details کلیک کنید. در تب Processes روی فلش کنار پردازش Service Host موردنظر کلیک کنید. دقت کنید که ممکن است سرویسهایی با نام مشابه Service Host Process موجود است و افراد زیادی در مورد اینکه Service host network service چیست و همینطور سرویس هاستهای مشابه جستجو میکنند. با کلیک روی فلش موردبحث، نام سرویسی که به کمک svchost اجرا شده، ظاهر میشود و میتوانید در مورد آن گوگل کنید.
ممکن است یک پردازش service host چند سرویس را همزمان اجرا کرده باشد و این سرویسها به هم وابسته باشند و در نتیجه بستن یکی از سرویسها موجب بسته شدن و اخلال در دیگر سرویسها بشود. به تصویر زیر توجه کنید:
برای بستن اجباری هر یک از سرویسها میتوانید از روش راستکلیک کردن و انتخاب گزینهی stop استفاده کنید.
در نسخههای جدیدتر ویندوز، قابلیت جستجو کردن در منوی راستکلیک روی سرویسها اضافه شده است که گوگل کردن و دریافت راهکار برای رفع مشکل را سادهتر میکند.
مشکل svchost.exe در ویندوز ۷
در ویندوز 7 هم استفاده از تاسک منیجر برای دریافت اطلاعات بیشتر در مورد svchost.exe خاصی که مشکل ایجاد کرده، ساده است اما نه به سادگی ویندوز 10 و ویندوز 11. در ویندوز ۷ میتوانید روی پردازشی که با مصرف پردازنده یا مصرف رم مشکل ایجاد کرده راستکلیک کنید و گزینهی Go to Service(s) را انتخاب کنید. به این ترتیب به تب سرویسها منتقل میشوید و سرویسی که توسط svchost.exe اجرا شده را رویت خواهید کرد.
در ویندوز 7 هم ممکن است یک پردازش svchost.exe چندین سرویس مرتبط و وابسته به هم را اجرا کرده باشد، نه فقط یک سرویس خاص و مجزا. توضیحات یا Description روبروی سرویس در ستون Description را مطالعه کنید و اگر توضیحات گویا نیست، در مورد سرویس موردنظر جستجو کنید.
عیب یابی svchost.exe با برنامه Process Explorer
مایکروسافت یک برنامه پرتابل و سبک برای بررسی دقیقتر پردازشها در ویندوز منتشر کرده که کاربران زیادی از آن استفاده میکنند. توصیهی ما دانلود Process Explorer است چرا که قابلیتهای زیادی برای کاربران حرفهای دارد. به عنوان مثال به راحتی میتوانید در میان پردازشها جستجو کنید و اطلاعاتی مثل میزان استفاده از پردازنده و غیره و همینطور توضیحات و شناسه پردازشها را بررسی کنید.
ویژگی جالب Process Explorer در بررسی سرویسهای اجرا شده به کمک svchost.exe این است که سرویسهای مرتبط را در یک گروه قرار میدهد. علاوه بر این حتی اگر سرویس خاصی اجرا نشده باشد، اگر موس را روی آن ببرید و مکث کنید، اطلاعاتی در مورد سرویسهای وابسته به آن ظاهر میشود!
مشکل ویروس svchost
هکرها و برنامه نویسانی که به نوشتن ویروس و بدافزار علاقه دارند، گاهی برای پنهانکاری هر چه بیشتر، نام ویروس را درست شبیه نام فایلها یا نام پردازشهای معروف و عادی ویندوز انتخاب میکنند. به همین جهت ممکن است با ویروس svchost نیز روبرو شویم! اما از کجا بفهمیم که این پردازش، ویروس است یا همان پردازش اصلی و مهم ویندوز است؟
سادهترین راهکار این است که محل فایل svchost.exe را بررسی کنیم. برای این کار میتوانید روی آن راستکلیک کنید و Open file location را انتخاب کنید.
آدرس اصلی فایل مهم svchost.exe به صورت زیر است:
Windows\System32
اگر آدرسی به جز آدرس فوق باز شده، میتوان گفت که ویروس svchost سیستم را آلوده کرده و میبایست ویروس کشی انجام داد.
howtogeekسیارهی آیتی