# 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)