2023-09-10 12:37:33 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-10-12 01:59:32 +02:00
<class name= "SubProcess" inherits= "Reference" version= "4.2" >
2023-09-10 12:37:33 +02:00
<brief_description >
Run and manage sub processes.
</brief_description>
<description >
This class grants acess to run and manage sub processes with more fine grained control compared to OS.execute().
</description>
<tutorials >
</tutorials>
<methods >
<method name= "get_data" qualifiers= "const" >
<return type= "String" />
<description >
Returns the data returned by the last [member poll] run.
</description>
</method>
<method name= "get_exitcode" qualifiers= "const" >
<return type= "int" />
<description >
Returns the exit code of the process.
</description>
</method>
<method name= "get_process_id" qualifiers= "const" >
<return type= "int" />
<description >
Returns the exit code of the running process, or 0.
</description>
</method>
<method name= "is_process_running" qualifiers= "const" >
<return type= "bool" />
<description >
Returns whether a subprocess is running.
</description>
</method>
<method name= "poll" >
<return type= "int" enum= "Error" />
<description >
Reads from the running process's console output if applicable.
</description>
</method>
<method name= "send_data" >
<return type= "int" enum= "Error" />
<argument index= "0" name= "data" type= "String" />
<description >
Pipe data to the running process.
</description>
</method>
<method name= "send_signal" >
<return type= "int" enum= "Error" />
<argument index= "0" name= "signal" type= "int" />
<description >
Send a signal to the runnign process.
</description>
</method>
<method name= "start" >
<return type= "int" enum= "Error" />
<description >
Start a subprocess according to the properties. Will return ERR_BUSY if something is already running.
If [member blocking] is true, and [member read_output] is also true, the output can be read from [member get_data()] after this method returns.
If [member blocking] is false, and [member read_output] is true, the output can be read (usually line-by-line) from [member get_data()] after every [member poll()] calls.
</description>
</method>
<method name= "stop" >
<return type= "int" enum= "Error" />
<description >
Stop the running subprocess.
</description>
</method>
</methods>
<members >
<member name= "arguments" type= "PoolStringArray" setter= "set_arguments" getter= "get_arguments" default= "PoolStringArray( )" >
The arguments that will be passed to the executable.
</member>
<member name= "blocking" type= "bool" setter= "set_blocking" getter= "get_blocking" default= "false" >
Whether to block until the subprocess finishes or not.
</member>
<member name= "executable_path" type= "String" setter= "set_executable_path" getter= "get_executable_path" default= """" >
The executable's path that will be run.
</member>
<member name= "open_console" type= "bool" setter= "set_open_console" getter= "get_open_console" default= "false" >
Whether to open a console window or not. Windows only.
</member>
<member name= "read_output" type= "bool" setter= "set_read_output" getter= "get_read_output" default= "true" >
Controls whether to read any output of the subprocess or not.
</member>
<member name= "read_std" type= "bool" setter= "set_read_std" getter= "get_read_std" default= "true" >
Controls whether to read the standard output of the subprocess or not.
</member>
<member name= "read_std_err" type= "bool" setter= "set_read_std_err" getter= "get_read_std_err" default= "false" >
Controls whether to read the standard error output of the subprocess or not.
</member>
<member name= "use_pipe_mutex" type= "bool" setter= "set_use_pipe_mutex" getter= "get_use_pipe_mutex" default= "false" >
Controls whether to use a mutex when reading the output of the subprocess.
</member>
</members>
<constants >
</constants>
</class>