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.

1 Like