# SC113: SIGTERM could not be delivered

> SC113 (SIGTERM could not be delivered) means the operating system refused the signal to your service process. Why it happens and how to run the check.

Source: https://shutdown.jscrate.dev/docs/codes/sc113
Last updated: 2026-09-23

`SC113` means the workload was active, but the operating system did not deliver
`SIGTERM` to the process shutdown-check started. The shutdown behavior was not
tested.

| | |
| --- | --- |
| Code | `SC113` (FAIL) |
| Stage | Startup and in-flight work |
| CLI exit code | 1 |
| What it means | The operating system refused to deliver SIGTERM to the process. |
| Message | `Could not deliver SIGTERM to the service process` |
| First thing to check | Check that the service runs as the same user as the check and has not already exited. |

## Why does it happen?

This failure is uncommon because the check launches and signals the process as
the same user. The usual causes are:

- the process exited at the same moment the signal was sent;
- a restricted container or sandbox blocks signaling;
- the process ID is no longer valid;
- an operating-system error prevented the signal.

## What should I do?

Run the test again once. If it repeats, use a direct launch command and run the
check in a normal macOS or Linux process environment. Read the preceding
timeline lines to see whether the process exited first.

If a wrapper receives the signal but the real server does not, the signal was
still delivered; expect an exit or open-port code such as `SC301`, `SC302`, or
`SC300` instead.

## How do I verify the fix?

The next run should contain `signal sent — SIGTERM`. If the run then fails,
the new code describes the server's shutdown behavior rather than signal
delivery.

When the failure happens only inside a locked-down container, compare its
process and security settings with a normal local Linux run.

## Related

- [How signal delivery works](https://shutdown.jscrate.dev/docs/how-it-works#6-send-sigterm)
- [Compatibility and limits](https://shutdown.jscrate.dev/docs/compatibility)
- [SC112: Exited before SIGTERM](https://shutdown.jscrate.dev/docs/codes/sc112)
- [SC301: Wrong exit code](https://shutdown.jscrate.dev/docs/codes/sc301)
