Ако някога сте разглеждали диспечера на задачите, може би сте се чудили защо се изпълняват толкова много процеси на Service Host. Не можете да ги убиете и със сигурност не сте ги започнали. И така, какви са те?

Процесът Service Host служи като обвивка за зареждане на услуги от DLL файлове. Услугите са организирани в свързани групи и всяка група се изпълнява в различен екземпляр на процеса на хост на услугите. По този начин проблемът в един случай не засяга други случаи. Този процес е жизненоважна част от Windows, чието изпълнение не можете да предотвратите.

Тази статия е част от нашата текуща серия, обясняваща различни процеси, открити в диспечера на задачите, като dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe и много други. Не знаете какви са тези услуги? По-добре започнете да четете!

И така, какво представлява процесът на хоста на услугата?

Ето отговора според Microsoft:

Svchost.exe е общо име на хост процес за услуги, които се изпълняват от библиотеки с динамични връзки.

Но това всъщност не ни помага много. Преди известно време Microsoft започна да променя голяма част от функционалността на Windows от разчитане на вътрешни услуги на Windows (които работеха от EXE файлове) към използване на DLL файлове вместо това. От гледна точка на програмирането, това прави кода по-използваем и може би по-лесен за поддържане на актуалност. Проблемът е, че не можете да стартирате DLL файл директно от Windows по същия начин, по който можете да стартирате изпълним файл. Вместо това, обвивка, която се зарежда от изпълним файл, се използва за хостване на тези DLL услуги. И така се роди процесът Service Host (svchost.exe).

Защо се изпълняват толкова много процеси на хост услуги?

СВЪРЗАНИ: Какво представлява този процес и защо се изпълнява на моя компютър?

Ако някога сте разглеждали секцията Услуги в контролния панел, вероятно сте забелязали, че Windows изисква много услуги. Ако всяка отделна услуга работи под един процес на хост на услугата, повреда в една услуга може потенциално да повреди целия Windows. Вместо това те са разделени.

Услугите са организирани в логически групи, които са донякъде свързани и след това се създава един екземпляр на Service Host за хостване на всяка група. Например, един процес на хост на услугите изпълнява трите услуги, свързани със защитната стена. Друг процес на хост на услугата може да изпълнява всички услуги, свързани с потребителския интерфейс и т.н. На изображението по-долу, например, можете да видите, че един процес на Service Host изпълнява няколко свързани мрежови услуги, докато друг изпълнява услуги, свързани с отдалечени извиквания на процедури.

Има ли нещо, което да правя с цялата тази информация?

СВЪРЗАНИ: Трябва ли да деактивирате услугите на Windows, за да ускорите компютъра си?

Честно казано, не много. В дните на Windows XP (и предишните версии), когато компютрите имаха много по-ограничени ресурси и операционните системи не бяха толкова фино настроени, често се препоръчваше спирането на Windows да изпълнява ненужни услуги. Тези дни не препоръчваме повече да деактивирате услугите. Съвременните компютри са склонни да бъдат заредени с памет и мощни процесори. Добавете това към факта, че начинът, по който услугите на Windows се обработват в съвременните версии (и какви услуги се изпълняват) е рационализиран и премахването на услугите, които смятате, че не ви трябват, наистина вече няма голямо влияние.

Въпреки това, ако забележите, че конкретен екземпляр на Service Host – или свързана услуга – причинява проблеми, като непрекъснато прекомерно използване на CPU или RAM, можете да проверите конкретните услуги, които участват. Това може поне да ви даде представа откъде да започнете да отстранявате проблеми. Има няколко начина да видите какви точно услуги се хостват от конкретен екземпляр на Service Host. Можете да проверите нещата в диспечера на задачите или с помощта на страхотно приложение на трета страна, наречено Process Explorer.

Проверете свързаните услуги в диспечера на задачите

Ако използвате Windows 8 или 10, процесите се показват на Processes на Task Manager с пълните им имена. Ако даден процес служи като хост за множество услуги, можете да видите тези услуги, като просто разширите процеса. Това прави много лесно да се идентифицира кои услуги принадлежат към всеки екземпляр на процеса на хост на услугите.

Можете да щракнете с десния бутон върху всяка отделна услуга, за да спрете услугата, да я видите в Services Приложение за контролен панел или дори потърсете онлайн информация за услугата.

Ако използвате Windows 7, нещата са малко по-различни. Диспечерът на задачите на Windows 7 не групира процесите по същия начин, нито показваше редовни имена на процеси – показваше само всички случаи на svchost.exe бягане. Трябваше да проучите малко, за да определите услугите, свързани с всеки конкретен случай svchost.exe.

На Processes на диспечера на задачите в Windows 7, щракнете с десния бутон върху конкретен svchost.exe процес и след това изберете Go to Service.

Това ще ви обърне към Services, където услугите, работещи под това svchost.exe всички процеси са избрани.

След това можете да видите пълното име на всяка услуга в Description, така че можете да изберете да деактивирате услугата, ако не искате да работи, или да отстраните неизправностите защо ви създава проблеми.

Проверете свързаните услуги с помощта на Process Explorer

Microsoft също така предоставя отличен усъвършенстван инструмент за работа с процеси като част от своята гама Sysinternals. Просто изтеглете Process Explorer и го стартирайте – това е преносимо приложение, така че няма нужда да го инсталирате. Process Explorer предоставя всички видове разширени функции и силно препоръчваме да прочетете нашето ръководство за разбиране на Process Explorer, за да научите повече.

СВЪРЗАНИ: Какво е „преносимо“ приложение и защо има значение?

За нашите цели тук обаче Process Explorer групира свързани услуги във всеки екземпляр на svchost.exe. Те са изброени по имената на файловете им, но пълните им имена също са показани в Description. Можете също така да задържите курсора на мишката върху някой от svchost.exe процеси, за да видите изскачащ прозорец с всички услуги, свързани с този процес – дори тези, които в момента не се изпълняват.

Може ли този процес да е вирус?

Самият процес е официален компонент на Windows. Въпреки че е възможно вирус да е заменил истинския хост на услугата със собствен изпълним файл, това е много малко вероятно. Ако искате да сте сигурни, можете да проверите местоположението на файла в основата на процеса. В диспечера на задачите щракнете с десния бутон върху всеки процес на хост на услугите и изберете Open File Location.

Ако файлът се съхранява във вашата папка WindowsSystem32, тогава можете да сте доста сигурни, че не имате работа с вирус.

СВЪРЗАНИ: Коя е най-добрата антивирусна програма за Windows 10? (Достатъчно добър ли е Windows Defender?)

Въпреки това, ако все пак искате малко повече спокойствие, винаги можете да сканирате за вируси, като използвате предпочитания от вас скенер за вируси. По-добре да се пазим, отколкото да съжалявам!