pub struct JoinHandle<T> { /* private fields */ }Expand description
An owned permission to join on a process (block on its termination).
The join handle can be used to join a process but also provides the ability to kill it.
Implementations§
Source§impl<T> JoinHandle<T>
impl<T> JoinHandle<T>
Sourcepub fn pid(&self) -> Option<u32>
pub fn pid(&self) -> Option<u32>
Returns the process ID if available.
The process ID is unavailable when pooled calls are not scheduled to processes.
Sourcepub fn kill(&mut self) -> Result<(), SpawnError>
pub fn kill(&mut self) -> Result<(), SpawnError>
Kill the child process.
If the join handle was created from a pool this call will do one of two things depending on the situation:
- if the call was already picked up by the process, the process will be killed.
- if the call was not yet scheduled to a process it will be cancelled.
Sourcepub fn stdin(&mut self) -> Option<&mut ChildStdin>
pub fn stdin(&mut self) -> Option<&mut ChildStdin>
Fetch the stdin handle if it has been captured
Sourcepub fn stdout(&mut self) -> Option<&mut ChildStdout>
pub fn stdout(&mut self) -> Option<&mut ChildStdout>
Fetch the stdout handle if it has been captured
Sourcepub fn stderr(&mut self) -> Option<&mut ChildStderr>
pub fn stderr(&mut self) -> Option<&mut ChildStderr>
Fetch the stderr handle if it has been captured
Source§impl<T: Serialize + DeserializeOwned> JoinHandle<T>
impl<T: Serialize + DeserializeOwned> JoinHandle<T>
Sourcepub fn join(self) -> Result<T, SpawnError>
pub fn join(self) -> Result<T, SpawnError>
Wait for the child process to return a result.
If the join handle was created from a pool the join is virtualized.
Sourcepub fn join_timeout(&mut self, timeout: Duration) -> Result<T, SpawnError>
pub fn join_timeout(&mut self, timeout: Duration) -> Result<T, SpawnError>
Like join but with a timeout.
Can be called multiple times. If anything other than a timeout error is returned, the
handle becomes unusuable, and subsequent calls to either join or join_timeout will
return an error.