This module deals with starting processes from within a process. It handles some basic read/write between a parent and child process, but does not do much that is complex.
os_run_command :: (args: .. string, working_directory := "", capture_and_return_output := false, print_captured_output := false, timeout_ms := 0) -> (successfully_launched: bool, exit_code: u32 = 0, output_string := "", error_string := "", timeout_reached := false);
This function runs a command based on an array of strings that you send it.
process_is_valid :: (p: Process) -> bool;
Checks if the process is valid.
process_close :: (p: Process) -> exit_code:s32;
Closes the process. Returns the exit code of the process.
read_entire_pipe :: (fd: s32, builder: *String_Builder, print_result: bool) -> success: bool;
Reads the output of the pipe.
process_wait :: (p: Process);
This function waits until the child process is killed.