Process
Child process helpers live in serenade-process (#243).
Symfony Process shaped: spawn, capture stdout/stderr, optional timeout, exit status.
| Piece | Role |
|---|---|
Process::new / arg / args |
Command + arguments |
cwd / env / clear_env |
Working directory and environment |
timeout |
Kill child after duration |
run |
Capture output; non-zero exit is still Ok |
must_run |
Like run, but ProcessError::Failed on non-zero |
CompletedProcess |
status / code / is_successful / stdout / stderr |
Example
Section titled “Example”use std::time::Duration;use serenade_process::Process;
let out = Process::new("echo").arg("hi").must_run()?;assert!(out.stdout_string().contains("hi"));
let err = Process::new("sleep") .arg("30") .timeout(Duration::from_millis(50)) .run();assert!(err.is_err());Limits
Section titled “Limits”- Stdin is always null (no interactive streams)
- Timeout polls
try_waitthenkill(not a hard real-time scheduler) - No PTY / TTY emulation
- Finder/glob is a separate crate in this wave
Related
Section titled “Related”- KERNEL.md - component index
- FILESYSTEM.md - path helpers
