---
title: "Kill one subprocess"
method: DELETE
path: "/operations/{operationId}/subprocesses/{spid}"
tags: ["operation"]
---

# Kill one subprocess

`DELETE /operations/{operationId}/subprocesses/{spid}`

Sends a signal to the process group of `spid` inside the
running instance.  Without the `signal` parameter the group
gets SIGKILL.  Termination is observable, not returned: the
`exit` event lands in the event log and
`GET /operations/{operationId}/subprocesses/{spid}` reports
the terminal `state` (`signal` set, `exit_code` -1 when killed).

Killing `spid=1` (the main process) effectively ends the
operation, like letting the command fail.

## Path parameters

- `operationId` string, uuid, required — A UUID string
- `spid` integer, required

## Query parameters

- `signal` string

## Response `204`

Signal delivered to the subprocess's process group.

## Other responses

- `400` — Invalid spid or unknown `signal` value.
- `401` — Unauthorized - Invalid or missing authentication credentials. Either the `Authorization` bearer token is missing or invalid, or the `Project` header is missing.
- `403` — Forbidden - Token does not have sufficient permissions
- `404` — Not Found — the operation does not exist, or the worker has no live process with that spid (never spawned or already exited).
- `409` — Conflict — the operation exists but is not an instance, or is not currently EXECUTING / ASSIGNED.
- `425` — Too Early — no worker holds the operation yet. Retry after `Retry-After`.

---

[API](https://skmtc.net/nebius/apis/nebius-openai-compatible-inference-api.md) · [All operations](https://skmtc.net/nebius/apis/nebius-openai-compatible-inference-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nebius/nebius-openai-compatible-inference-api/revisions/0fb323abba3c/schema)
