While testing a newly created Windows Service, the service failed on startup. As a consequence, I couldn’t start/stop/delete the service anymore.
To fix it I had to jump through some hoops:
- First I had to query for all services to find the correct process id. This can be done using the sc queryex command
- This returned a list of all services:
SERVICE_NAME: WpnUserService_ce0fb
DISPLAY_NAME: Windows Push Notifications User Service_ce0fb
TYPE : f0 ERROR
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_PRESHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 8740
FLAGS :
SERVICE_NAME: FailingService.Host
DISPLAY_NAME: FailingService.Host
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 18836
FLAGS :
- Now that I have the PID, I can try to kill the windows service using taskkill /pid 18836
- I got the following error message when trying to execute this:
ERROR: The process with PID 18836 could not be terminated.
Reason: This process can only be terminated forcefully (with /F option).
- Let’s try this again with the ‘/F’ option: taskkill /pid 18836 /F
SUCCESS: The process with PID 18836 has been terminated.
- After killing the service, I was finally able to delete it.