pub unsafe fn execve<P: AsRef<Path>>(
filename: P,
argv: &[P],
env: &[P],
) -> Result<(), Errno>Expand description
Execute a new program.
ยงExamples
let args = ["ls", "-l", "-a"];
let env = ["DISPLAY=:0"];
let ret = unsafe { nc::execve("/bin/ls", &args, &env) };
assert!(ret.is_ok());Examples found in repository?
More examples
examples/fork.rs (line 14)
5fn main() {
6 let pid = unsafe { nc::fork() };
7 match pid {
8 Err(errno) => eprintln!("Failed to call fork(), err: {}", nc::strerror(errno)),
9 Ok(0) => {
10 // Child process
11 println!("[child] pid: {}", unsafe { nc::getpid() });
12 let args = ["ls", "-l", "-a"];
13 let env = ["DISPLAY=wayland"];
14 let ret = unsafe { nc::execve("/bin/ls", &args, &env) };
15 assert!(ret.is_ok());
16 }
17 Ok(child_pid) => {
18 // Parent process
19 println!("[main] child pid is: {child_pid}");
20 }
21 }
22}