Create a new process with the specified properties.
Defined in <SDL3/SDL_process.h>
SDL_Process* SDL_CreateProcessWithProperties(SDL_PropertiesID props);
SDL_PropertiesID | props | the properties to use. |
(SDL_Process *) Returns the newly created and running process, or NULL if the process couldn't be created.
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 go, 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 go, 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.
It is safe to call this function from any thread.
This function is available since SDL 3.1.3.