1

I installed the latest nginx on widows 7 enterprise. got an error "nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)".

The tools TCPView showed that pid 4 SYSTEM was listening on port 80. How to determine which service is running as SYSTEM as pid 4 ? If I goto a browser with localhost, I get a HTTP 404 message.

anjanb
  • 151

2 Answers2

2

No service is running as PID 4. PID 4 is always the system process itself, in Windows the http.sys kernel driver (running inside of PID 4) usually takes care of all http traffic and services and applications can register IP addresses and URLs to be forwarded to them.

Run the following command:

netsh http show servicestate

or if the output is too long pipe it:

netsh http show servicestate > %temp%\httpservicestate.txt

you may see registered URLs or IP addresses in the output but also process IDs or Controller process IDs, check these IDs against a list of running processes to find the process(es) that using http.sys

-1

If you do a right clic on an empty space of your task bar and select "Start Task Manager" then go for the services tab, you will see all the services currently available/running/stopped on your computer, listed with there PID, that will probably show you which one is the 4.

The other idea I have in mind is that you probably have Skype installed, it come with a "something" (sorry for the lack of details, I never really looked what is it's purpose exactly) that is bind on port 80 and start automatically by default, Skype's options allow you to disable it and free your port.

Kane
  • 131