vfork 0.1.0

vfork-rs is used in embedded low memory to run an external program.
Documentation
  • Coverage
  • 53.33%
    8 out of 15 items documented0 out of 11 items with examples
  • Size
  • Source code size: 7.75 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.25 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 12s Average build duration of successful builds.
  • all releases: 12s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • cppcoffee/vfork-rs
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • cppcoffee

vfork-rs

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.

Notice

Used in linux only.

Usage

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);
}

Reference

https://man7.org/linux/man-pages/man2/vfork.2.html