Skip to main content

sys_execve

Function sys_execve 

Source
pub fn sys_execve(
    path: &CStr,
    argv: &[*const u8],
    envp: &[*const u8],
) -> SysResult
Available on Unix and crate feature sys-syscall and crate feature sys-unix and crate feature sys only.
Expand description

以 argv/envp 执行 path 指定的程序,成功时不返回。

§Feature Requirement

需要启用 "sys-unix" 特性。

§Examples

use core::ffi::CStr;
use lib_unknown::sys::unix::syscall::sys_execve;

let path = CStr::from_bytes_with_nul(b"/bin/true\0").unwrap();
let argv: [*const u8; 1] = [path.as_ptr() as *const u8];
let envp: [*const u8; 0] = [];
let _ = sys_execve(path, &argv, &envp);

§Errors

  • 当程序不存在、无执行权限或参数非法时返回 SysErr::Ret(内核 errno)。