pub struct SpawnOptions<'a> { /* private fields */ }Implementations§
Source§impl<'a> SpawnOptions<'a>
impl<'a> SpawnOptions<'a>
pub fn new(filename: &'a CStr, argv: &'a CStrArray, envp: &'a CStrArray) -> Self
Sourcepub unsafe fn pre_exec(
&mut self,
f: unsafe fn(data: usize) -> bool,
data: usize,
) -> &mut Self
pub unsafe fn pre_exec( &mut self, f: unsafe fn(data: usize) -> bool, data: usize, ) -> &mut Self
Sets a function to be called with the data argument before execve is called. This
allows the caller to modify the environment for the new process.
§Safety
The function must not introduce undefined behavior.
The function must not break library guarantees. This could happen since it will be executed in another process which shares some things with the current process like the virtual memory, but not others like the file descriptor table, the threads, etc.
Sourcepub fn clone_flags(&mut self, flags: u32) -> &mut Self
pub fn clone_flags(&mut self, flags: u32) -> &mut Self
Sets additional clone flags to use when spawning the process. This can be used to spawn the process in a new namespace for example.
Sourcepub fn spawn(&self) -> Result<pid_t>
pub fn spawn(&self) -> Result<pid_t>
Tries to spawn the new process and returns its PID on success.
Sourcepub fn spawn_and_wait(&self) -> Result<i32>
pub fn spawn_and_wait(&self) -> Result<i32>
Spawns a new process, waits for it to die and returns its status code.
Auto Trait Implementations§
impl<'a> Freeze for SpawnOptions<'a>
impl<'a> !RefUnwindSafe for SpawnOptions<'a>
impl<'a> !Send for SpawnOptions<'a>
impl<'a> !Sync for SpawnOptions<'a>
impl<'a> Unpin for SpawnOptions<'a>
impl<'a> !UnwindSafe for SpawnOptions<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more