SDL_CreateProcessWithProperties - Create a new process with the specified properties.
Contents
Availability
This function is available since SDL 3.2.0.
Description
These are the supported properties:
• SDL_PROP_PROCESS_CREATE_ARGS_POINTER :
an array of strings containing the program to run, any arguments, and a
NULL pointer, e.g. const char *args[] = { "myprogram", "argument", NULL
}. This is a required property.
• SDL_PROP_PROCESS_CREATE_ENVIRONMENT_POINTER :
an SDL_Environment
pointer. If this property is set,
it will be the entire environment for the process, otherwise the current
environment is used.
• SDL_PROP_PROCESS_CREATE_STDIN_NUMBER :
an SDL_ProcessIO
value describing where standard input
for the process comes from, defaults to
SDL_PROCESS_STDIO_NULL .
• SDL_PROP_PROCESS_CREATE_STDIN_POINTER :
an SDL_IOStream
pointer used for standard input when
SDL_PROP_PROCESS_CREATE_STDIN_NUMBER is set to SDL_PROCESS_STDIO_REDIRECT .
• SDL_PROP_PROCESS_CREATE_STDOUT_NUMBER :
an SDL_ProcessIO
value describing where standard output
for the process goes to, defaults to
SDL_PROCESS_STDIO_INHERITED .
• SDL_PROP_PROCESS_CREATE_STDOUT_POINTER :
an SDL_IOStream
pointer used for standard output when
SDL_PROP_PROCESS_CREATE_STDOUT_NUMBER is set to SDL_PROCESS_STDIO_REDIRECT .
• SDL_PROP_PROCESS_CREATE_STDERR_NUMBER :
an SDL_ProcessIO
value describing where standard error
for the process goes to, defaults to
SDL_PROCESS_STDIO_INHERITED .
• SDL_PROP_PROCESS_CREATE_STDERR_POINTER :
an SDL_IOStream
pointer used for standard error when
SDL_PROP_PROCESS_CREATE_STDERR_NUMBER is set to SDL_PROCESS_STDIO_REDIRECT .
• SDL_PROP_PROCESS_CREATE_STDERR_TO_STDOUT_BOOLEAN :
true if the error output of the process should be redirected into the
standard output of the process. This property has no effect if
SDL_PROP_PROCESS_CREATE_STDERR_NUMBER is set.
• SDL_PROP_PROCESS_CREATE_BACKGROUND_BOOLEAN :
true if the process should run in the background. In this case the
default input and output is
SDL_PROCESS_STDIO_NULL and the exitcode of
the process is not available, and will always be 0.
On POSIX platforms, wait() and waitpid(-1, ...) should not be called, and SIGCHLD should not be ignored
or handled because those would prevent SDL from properly tracking the lifetime of the underlying process.
You should use SDL_WaitProcess () instead.
Function Parameters
props the properties to use.
Header File
Defined in SDL3/SDL_process.h
Name
SDL_CreateProcessWithProperties - Create a new process with the specified properties.
Return Value
( SDL_Process
*) Returns the newly created and running process, or NULL if the process couldn't be created.
See Also
•(3), SDL_CreateProcess(3), •(3), SDL_GetProcessProperties(3), •(3), SDL_ReadProcess(3), •(3), SDL_GetProcessInput(3), •(3), SDL_GetProcessOutput(3), •(3), SDL_KillProcess(3), •(3), SDL_WaitProcess(3), •(3), SDL_DestroyProcess(3) Simple Directmedia Layer SDL 3.2.10 SDL_CreateProcessWithProperties(3)
Synopsis
#include"SDL3/SDL.h"SDL_Process*SDL_CreateProcessWithProperties(SDL_PropertiesIDprops);
Thread Safety
It is safe to call this function from any thread.
