Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cppcoffee/vfork-rs

vfork-rs is used in embedded low memory to run an external program.
https://github.com/cppcoffee/vfork-rs

embedded vfork

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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

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

## Reference

[https://man7.org/linux/man-pages/man2/vfork.2.html](https://man7.org/linux/man-pages/man2/vfork.2.html)