Shutdown Check

Search documentation

Find a page or section

SC000: Graceful shutdown verified

SC000 (graceful shutdown verified) is the pass result: what shutdown-check proved about your service, what it does not cover, and how to keep it in CI.

SC000 means the configured graceful shutdown behavior passed. The active requests finished, the process exited correctly before the deadline, and the port stopped accepting connections.

CodeSC000 PASS
StagePassed
CLI exit code0
What it meansEvery in-flight request finished with the expected response, and the service exited with the expected code before the deadline and closed its port.
Message
  • Graceful shutdown verified
First thing to checkNothing to fix. Keep the check in CI so a regression fails the build.

What did the test prove?

The service passed every check enabled in your config:

  1. The test port was free before startup.
  2. The service started and became ready.
  3. The workload was active before SIGTERM.
  4. Each active request returned the expected status and body.
  5. The process exited with the expected code before the deadline.
  6. The port closed after the process exited.

If you enabled readiness withdrawal, rejection of new requests, or a repeated signal, those checks passed too.

What did it not prove?

The result covers only the routes and conditions in the config. It does not verify database writes, queue consumers, WebSockets, HTTP/2 streams, or work that continues after an HTTP response. It also does not test Kubernetes endpoint propagation or a container preStop hook.

Use a workload that represents a real slow operation, and keep the test in CI so shutdown regressions fail before deployment.

How do I keep the result meaningful?

Review the config when routes, startup commands, or platform deadlines change. A test can keep passing while no longer representing production if the workload becomes much faster or the deployed entry point changes.

In CI, keep the full timeline or JUnit report. A normal passing sequence shows work active before SIGTERM, response completion after it, and process exit before shutdown verified.