vfork-rs
is used in embedded low memory to run an external program and read the stdout output.
Just like the name, the vfork-rs
uses the linux vfork
syscall. the vfork
syscall is used to create new processes without copying the page tables of the parent process.
Used in linux only.
```rust use vfork::Command;
fn main() { let s = "hello, world!"; let mut cmd = Command::new("/bin/echo") .arg(s) .spawn() .expect("failed to execute process");
let status_code = cmd.wait().expect("failed to wait process");
assert_eq!(0, status_code.code());
let output = cmd.output().expect("failed to get output");
assert_eq!(String::from_utf8_lossy(&output), s);
} ```