SDL_CreateProcessWithProperties - Man Page

Create a new process with the specified properties.

Header File

Defined in SDL3/SDL_process.h

Synopsis

#include "SDL3/SDL.h"

SDL_Process* SDL_CreateProcessWithProperties(SDL_PropertiesID props);

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.

Return Value

( SDL_Process
*) Returns the newly created and running process, or NULL if the process couldn't be created.

Thread Safety

It is safe to call this function from any thread.

Availability

This function is available since SDL 3.2.0.

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)

Referenced By

SDL_CreateProcess(3), SDL_DestroyProcess(3), SDL_GetProcessInput(3), SDL_GetProcessOutput(3), SDL_GetProcessProperties(3), SDL_KillProcess(3), SDL_ProcessIO.3type(3), SDL_ReadProcess(3), SDL_WaitProcess(3).

SDL 3.2.2 Simple Directmedia Layer SDL3 FUNCTIONS