Skip to content

vfork-rs is used in embedded low memory to run an external program.

Notifications You must be signed in to change notification settings

cppcoffee/vfork-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

vfork-rs is used in embedded low memory to run an external program.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages