---
url: >-
  https://adk.nht.io/api/batteries/isolation/child_process/functions/createChildProcessTransport.md
---

# Function: createChildProcessTransport()

```ts
function createChildProcessTransport<S>(
  spec: S,
  options: ForkIsolatedOptions,
): IsolationTransport;
```

Defined in: [src/batteries/isolation/child\_process/transport.ts:247](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/isolation/child_process/transport.ts#L247)

Build a real @nhtio/adk/batteries/isolation!IsolationTransport over a node `child_process`
(or BYO-resolved) child. `connect()` spawns a fresh child every call (including every `recycle()` —
there is no child reuse); `terminate()` sends `SIGTERM` (or `forkOptions.killSignal`/the resolver's
own convention) without waiting for exit or imposing any grace period of its own (`host.ts` already
owns that via `disposeGraceMs`).

## Type Parameters

| Type Parameter                                                                                                                                                                                                                                                                                                                             |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `S` *extends* [`IsolatedServiceSpec`](../../../../@nhtio/adk/batteries/interfaces/IsolatedServiceSpec.md)<[`MethodMap`](../../../../@nhtio/adk/batteries/type-aliases/MethodMap.md), [`StreamMap`](../../../../@nhtio/adk/batteries/type-aliases/StreamMap.md), [`EventMap`](../../../../@nhtio/adk/batteries/type-aliases/EventMap.md)> |

## Parameters

| Parameter | Type                                                            |
| --------- | --------------------------------------------------------------- |
| `spec`    | `S`                                                             |
| `options` | [`ForkIsolatedOptions`](../type-aliases/ForkIsolatedOptions.md) |

## Returns

[`IsolationTransport`](../../../../@nhtio/adk/batteries/interfaces/IsolationTransport.md)

## Throws

@nhtio/adk/batteries/isolation!E\_ISOLATION\_UNSUPPORTED\_ENV when called outside node
(no `process.pid` / no `child_process.fork`).

## Throws

@nhtio/adk/batteries/isolation!E\_INVALID\_ISOLATION\_OPTIONS when `options` fails the
mutual-exclusivity check documented on [ForkIsolatedOptions](../type-aliases/ForkIsolatedOptions.md).
