Stopping a windows service when the stop option is grayed out

Windows Services

Windows Services Problem Overview


I have created a windows service and in the service in control panel -> administrative tools -> services, its status is starting.

I want to stop this service, but the stop option is grayed out. How can I start/stop the service?

Every time I restart, then it becomes stopped and I can delete it.

Windows Services Solutions


Solution 1 - Windows Services

If you run the command:

sc queryex <service name>

where is the the name of the service, not the display name (spooler, not Print Spooler), at the cmd prompt it will return the PID of the process the service is running as. Take that PID and run

taskkill /F /PID <Service PID>

to force the PID to stop. Sometimes if the process hangs while stopping the GUI won't let you do anything with the service.

Solution 2 - Windows Services

You could do it in one line (useful for ci-environments):

taskkill /fi "Services eq SERVICE_NAME" /F

Filter -> Services -> ServiceName equals SERVICE_NAMES -> Force

Source: https://technet.microsoft.com/en-us/library/bb491009.aspx

Solution 3 - Windows Services

If the stop option is greyed out then your service did not indicate that it was accepting SERVICE_ACCEPT_STOP when it last called SetServiceStatus. If you're using .NET, then you need to set the CanStop property in ServiceBase.

Of course, if you're accepting stop requests, then you'd better make sure that your service can safely handle those requests, especially if your service is still progressing through its startup code.

Solution 4 - Windows Services

Use the Task manager to find the Service and kill it from there using End Task. Always does the trick for me.

If you have made the service yourself, consider removing Long running operations from the OnStart event, usually that is what causes the Service to be non responsive.

Solution 5 - Windows Services

As Aaron mentioned above, some services do not accept SERVICE_ACCEPT_STOP messages, by the time it was developed. And that is hard coded into the executable. Period. A workaroud would be not to have it started, and as you cannot change its properties, forcibly do the following:

  1. Boot into safe mode (Windows 10 users might need msconfig > boot > safe boot)
  2. Regedit into HKLM > System > ControlSet001 > Services
  3. Locate your service entry
  4. Change 'Start' key to 3 (manual startup) or 4 (disabled)

If you cannot change the entry, right-click on your service name on the left pane, select 'Permissions', check that 'Everyone' has full access and try step 4 again.

Don't forget to disable safe boot from msconfig again, and reboot !

Solution 6 - Windows Services

Open command prompt with admin access and type the following commands there .

a)

tasklist

it displays list of all available services . There you can see the service you want to stop/start/restart . Remember PID value of the service you want to force stop.

b) Now type

taskkill /f /PID [PID value of the service] 

and press enter. On success you will get the message “SUCCESS: The process with PID has been terminated”.

Ex : taskkill /f /PID 5088

This will forcibly kill the frozen service. You can now return to Server Manager and restart the service.

Solution 7 - Windows Services

sc queryex <service name>
taskkill /F /PID <Service PID>

eg

enter image description here

eg

Solution 8 - Windows Services

I solved the problem with the following steps:

  1. Open "services.msc" from command / Windows RUN.

  2. Find the service (which is greyed out).

  3. Double click on that service and go to the "Recovery" tab.

  4. Ensure that

    • First Failure action is selected as "Take No action".
    • Second Failure action is selected as "Take No action".
    • Subsequent Failures action is selected as "Take No action".

    and Press OK.

Now, the service will not try to restart and you can able to delete the greyed out service from services list (i.e. greyed out will be gone).

Solution 9 - Windows Services

Here's a simple method to kill a service you can't stop directly, if that service has dependencies.

  1. Open the service's properties window & click on dependencies tab
  2. See what it needs to run
  3. Stop one of those if possible, being sure that it won't also crash Windows

For example, stopping "network store interface service" aka nsi will kill an unkillable dnscache service. It will also kill all network capabilities & may require restarting Windows to get them back. I've had to do this to edit the hosts file, sometimes dnscache refuses to let go & you can't update hosts without killing it first but you can't do it directly.

Solution 10 - Windows Services

The crucial thing that a lot of the suggestions dont make clear is that you must 'start command window as administrator' even if your already logged in as an administrator.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDotnetSparrowView Question on Stackoverflow
Solution 1 - Windows ServicesDrPppr242View Answer on Stackoverflow
Solution 2 - Windows ServicestotevView Answer on Stackoverflow
Solution 3 - Windows ServicesAaron KlotzView Answer on Stackoverflow
Solution 4 - Windows ServicesVarun RathoreView Answer on Stackoverflow
Solution 5 - Windows ServicesvortalView Answer on Stackoverflow
Solution 6 - Windows ServicesMohan D KishoreView Answer on Stackoverflow
Solution 7 - Windows ServicesAbdul Rehman Kaim KhaniView Answer on Stackoverflow
Solution 8 - Windows ServicesJanugi RamaView Answer on Stackoverflow
Solution 9 - Windows ServicesAFOCView Answer on Stackoverflow
Solution 10 - Windows ServicesChris MilburnView Answer on Stackoverflow