interface process { use common.{env-vars}; /// A command. record command { /// The command to execute. command: string, /// The arguments to pass to the command. args: list, /// The environment variables to set for the command. env: env-vars, } /// The output of a finished process. record output { /// The status (exit code) of the process. /// /// On Unix, this will be `None` if the process was terminated by a signal. status: option, /// The data that the process wrote to stdout. stdout: list, /// The data that the process wrote to stderr. stderr: list, } /// Executes the given command as a child process, waiting for it to finish /// and collecting all of its output. run-command: func(command: command) -> result; }