# types.ProgramExit

- **Module:** types
- **Package:** libtmux
- **Language:** TypeScript
- **Kind:** interface
- **Source:** https://github.com/libtmux/libtmux-ts/blob/ad09eaef7ffff40f510989ee0695852c44a31576/packages/libtmux/src/types.ts#L655
- **Page:** https://libtmux.org/en/ts/latest/reference/types-programexit/

How a program ended: an exit status or the signal that ended it.

One of the two is set, as for a Node child process: [`exitCode`](/en/ts/latest/reference/types-programexit-exitcode/) for a program
that exited, [`signalCode`](/en/ts/latest/reference/types-programexit-signalcode/) for one a signal ended. A program
[`Server.run`](/en/ts/latest/reference/server-server-run/) or [`Server.spawn`](/en/ts/latest/reference/server-server-spawn/) started runs under an `sh`, which
cannot tell a signal's death from the program exiting with 128 plus that
signal's number, so a program's own `exit 130` reads as `"SIGINT"`, as that
status means by convention.

## Members

### Other members

- [`exitCode`](/en/ts/latest/reference/types-programexit-exitcode/) (property): The exit status, or null when a signal ended the process.
- [`signalCode`](/en/ts/latest/reference/types-programexit-signalcode/) (property): The signal that ended the process, such as `"SIGKILL"`, or null.
