At any given time, if you open Task Manager and take look the Processes tab, you will see a bunch of processes named svchost.exe running with some of them maybe using a lot of your computer resources. These processes are the hosts for Windows services so they are very essential to Windows system. There can be multiple instances of svchost.exe running on your computer, with each instance containing different services.
So is there a way to view which services are hosted by which svchost process? Here are 3 ways to find out.
Task Manager
If you are on Windows 8.1 or 10, you can go to Processes tab in Task Manager, and find out a bunch of Service Host processes near at the bottom. These are svchost processes we are looking for. Expand each of them to reveal which services that are running under them.
You can also go to Details tab, right-click on the svchost.exe and choose Go to servcie(s). It will take you to the Services tab with all related services highlighted.
Process Explorer from Windows Sysinternals
If you are the fan of Sysinternals, you can use its Process Explorer as well to find out which services are hosted by each particular svchost process.
It’s probably not the best way but it does get job done as well.
PowerShell
Thanks to PowerShell for coming up a pretty cool script that lists all currently running processes with service names showing in a next column whenever the process is “svchost”. I made a small change so only the svchost processes will show up in the result window rather than a full list of running processes. You can download the source code below and run it for yourself.
Analyzing svchost Processes
Note that you will need to run Set-ExecutionPolicy RemoteSigned to be able to run the code if you see error message stating that “running scripts is disabled on this system”.