Skip to main content

← Back to all articles

A Windows service keeps stopping

A service that repeatedly restarts is not necessarily fixing itself.

Windows services are background processes used by Windows and installed applications. The Service Control Manager can be configured to take recovery actions when a service fails, including restarting that service. [R1]

So a pattern such as:

service stops → Windows restarts it → service stops again

usually means the failure is recurring.

The useful first question is:

Why is the service terminating?

Check whether Windows is restarting it automatically

Windows can maintain failure actions for a service.

Microsoft documents that the Service Control Manager can count service failures and perform configured recovery actions after each failure. Those actions can include restarting the service. [R1]

This explains why a service may appear to recover for a few seconds or minutes and then fail again.

Do not treat the automatic restart as proof that the problem has been solved. If the service continues to terminate, the underlying fault remains.

Look for the crash event

Open Event Viewer and compare the timestamps in:

Microsoft's service-crash troubleshooting guidance says repeated Event ID 1000 and Event ID 1001 entries in the Application log indicate application or service crashing behavior. Event 1000 records details such as the faulting application and faulting module. [R2]

That information is more useful than merely knowing that the service restarted.

Record the service or process name, faulting module, exception code, and timestamp before making changes.

A faulting module is diagnostic evidence, but it should not automatically be treated as the root cause. Use it to narrow the investigation.

Check whether another service it depends on has failed

Some services require other services to be running first.

Microsoft documents that when a required dependency fails to start, services that rely on it can also fail. The Dependencies tab in the Services console shows these relationships. [R3]

If Windows reports a dependency failure, investigate the failed dependency first.

Restarting the upper-level service repeatedly will not solve a missing or broken dependency underneath it.

Do not repeatedly restart an unknown service

Restarting a service can be appropriate as a temporary recovery step, but it can also interrupt whatever function that service provides.

Microsoft's service guidance treats restart behavior as a configured recovery action and notes that service dependencies must be respected when services are stopped and restarted. [R4]

Do not disable, change the startup type, or alter recovery settings for an unfamiliar Windows service merely to make an error disappear.

For a work- or school-managed PC, service configuration may also be controlled by organizational policy.

Look for a repeatable trigger

Compare the failure times.

Does the service fail:

A consistent trigger helps narrow the affected component.

Microsoft's crash-troubleshooting guidance recommends first making sure the operating system and affected application are current before deeper crash analysis. [R2]

Timing alone does not prove that the newest update caused the crash. Preserve the sequence of events instead of rolling back several unrelated changes at once.

When does this need deeper investigation?

A service that fails once and then remains healthy is different from a service that crashes many times per hour.

Microsoft documents repeated Event 1000/1001 entries as the pattern that identifies recurring crash behavior and may require collection of crash data for deeper analysis. [R2]

Escalate the investigation when the service is critical to the function you are trying to use, repeatedly crashes after automatic recovery, or its failure disrupts networking, security, printing, audio, updates, or another user-facing capability.

What should I do now?

  1. Identify the exact service that keeps stopping.
  2. Check Event Viewer > Windows Logs > System for Service Control Manager events at the same time.
  3. Check Windows Logs > Application for Event 1000/1001 crash records.
  4. Record the faulting process, module, exception code, and timestamp.
  5. Check the service's Dependencies and determine whether a required service failed first.
  6. Note whether Windows is automatically restarting the service through its recovery configuration.
  7. Compare the failures with a repeatable trigger or recent system/application change.
  8. Make sure Windows and the affected application are current before deeper crash analysis.
  9. If the service continues to crash, investigate the specific faulting component rather than repeatedly restarting, disabling, or reconfiguring the service.

The goal is not to keep the service running for a few more seconds. The goal is to determine whether the loop comes from a crashing process, failed dependency, configuration problem, or another component that repeatedly triggers the failure.


References

  1. SERVICE_FAILURE_ACTIONSW structure (winsvc.h) — Microsoft Learn (2026-09-20)

    “Represents the action the service controller should take on each failure of a service.”

    https://learn.microsoft.com/en-us/windows/win32/api/winsvc/ns-winsvc-service_failure_actionsw

  2. The application or service crashing behavior troubleshooting guidance — Microsoft Learn (2026-09-20)

    “Event ID 1000 with the Error level is the actual application crashing event.”

    https://learn.microsoft.com/en-us/troubleshoot/windows-server/performance/troubleshoot-application-service-crashing-behavior

  3. Troubleshoot Netlogon Service Startup Failures — Microsoft Learn (2026-09-20)

    “If a dependent service fails to start, both that service and any services relying on the service don't start.”

    https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/troubleshoot-netlogon-service-startup-failures

  4. Guidelines for Services — Microsoft Learn (2026-09-20)

    “Restart Manager honors service dependencies.”

    https://learn.microsoft.com/en-us/windows/win32/rstmgr/guidelines-for-services