Expand description
A running command in a Sailbox with live output.
ExecProcess::start launches a command and returns a handle right away,
carrying its durable exec_request_id. The command runs detached, so
dropping the handle never kills it. Read stdout and stderr live through
StreamReader, write to stdin, and call ExecProcess::wait for the
exit result. Output and the exit status survive a dropped connection: the
handle resumes the live output where it left off, or falls back to the
buffered result, so a caller never loses the tail.
Structs§
- Async
Stream Reader - An async cursor over one live output stream, the awaiting counterpart of
StreamReader.AsyncStreamReader::nextyields the next chunk without parking a runtime thread, so many streams can be read on one event loop. - Exec
Options - Optional settings for
Sailbox::execandSailbox::exec_shell.Defaultruns a plain foreground command (no pty, no stdin, no timeout) and retries transient failures against a waking or migrating Sailbox for ten minutes (seeretry_timeout). - Exec
Process - A handle to a running command. Drop or
ExecProcess::closereleases the stream without killing the command. - Exec
Result - The buffered result of a finished exec.
- RunOptions
- Optional settings for
Sailbox::runandSailbox::run_shell: theExecOptionssubset that applies to a buffered one-shot run (no pty, no stdin, no background). - Stream
Reader - A cursor over one live output stream.
StreamReader::nextblocks up to a timeout for the next chunk.
Enums§
- Cancel
Signal - Which signal to send when cancelling a running exec.
- Forward
Event - A local-forwarding request the guest sends for an interactive session, consumed by the shell driver to act on the user’s machine.
- Output
Stream - Which output stream a chunk or reader belongs to.
- Read
Step - One step of reading a live output stream.
- Retry
Budget - How long to keep retrying transient RPCs against a waking or migrating Sailbox before giving up.
Constants§
- EXEC_
CANCEL_ RETRY - Retry budget for the cancel RPC against a box that may be waking or
migrating: the saild registration gap makes cancel forwards return
Unavailablefor up to ~1s, so retrying within this budget lets the signal still land. Distinct from the exec’s run-retry budget (whichwaituses) and from the command’stimeout(a server-enforced kill). One value for every surface so Ctrl-C behaves the same across the SDKs and CLI.