If-Koubou

Какво представлява процесът за хост на услугата (svchost.exe) и защо се изпълняват толкова много?

Какво представлява процесът за хост на услугата (svchost.exe) и защо се изпълняват толкова много? (Как да)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ако използвате Windows 8 или 10, процесите се показват в раздела "Процеси" на диспечера на задачите по техните пълни имена. Ако даден процес служи като хост за множество услуги, можете да видите тези услуги, като просто разширите процеса. Това прави много лесно да се определи кои услуги принадлежат на всяко копие на процеса на Host Service.

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

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

В раздела "Процеси" в Task Manager в Windows 7 кликнете с десния бутон на мишката върху конкретен процес "svchost.exe" и след това изберете опцията "Отиди на услугата".

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

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

Проверете свързаните услуги, използвайки Process Explorer

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

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

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

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

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

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