# CategoryProcess

Process control support.

These functions provide a cross-platform way to spawn and manage OS-level
processes.

You can create a new subprocess with
[SDL_CreateProcess](SDL_CreateProcess)() and optionally read and write to
it using [SDL_ReadProcess](SDL_ReadProcess)() or
[SDL_GetProcessInput](SDL_GetProcessInput)() and
[SDL_GetProcessOutput](SDL_GetProcessOutput)(). If more advanced
functionality like chaining input between processes is necessary, you can
use [SDL_CreateProcessWithProperties](SDL_CreateProcessWithProperties)().

You can get the status of a created process with
[SDL_WaitProcess](SDL_WaitProcess)(), or terminate the process with
[SDL_KillProcess](SDL_KillProcess)().

Don't forget to call [SDL_DestroyProcess](SDL_DestroyProcess)() to clean
up, whether the process process was killed, terminated on its own, or is
still running!

<!-- END CATEGORY DOCUMENTATION -->

## Functions

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryProcess, CategoryAPIFunction -->
- [SDL_CreateProcess](SDL_CreateProcess)
- [SDL_CreateProcessWithProperties](SDL_CreateProcessWithProperties)
- [SDL_DestroyProcess](SDL_DestroyProcess)
- [SDL_GetProcessInput](SDL_GetProcessInput)
- [SDL_GetProcessOutput](SDL_GetProcessOutput)
- [SDL_GetProcessProperties](SDL_GetProcessProperties)
- [SDL_KillProcess](SDL_KillProcess)
- [SDL_ReadProcess](SDL_ReadProcess)
- [SDL_WaitProcess](SDL_WaitProcess)
<!-- END CATEGORY LIST -->

## Datatypes

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryProcess, CategoryAPIDatatype -->
- [SDL_Process](SDL_Process)
<!-- END CATEGORY LIST -->

## Structs

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryProcess, CategoryAPIStruct -->
- (none.)
<!-- END CATEGORY LIST -->

## Enums

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryProcess, CategoryAPIEnum -->
- [SDL_ProcessIO](SDL_ProcessIO)
<!-- END CATEGORY LIST -->

## Macros

<!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. -->
<!-- BEGIN CATEGORY LIST: CategoryProcess, CategoryAPIMacro -->
- (none.)
<!-- END CATEGORY LIST -->

----
[CategoryAPICategory](CategoryAPICategory)