[][src]Struct duct::Handle

pub struct Handle { /* fields omitted */ }

A handle to a running expression, returned by the start method. Calling start followed by output on the handle is equivalent to run. Note that unlike std::process::Child, most of the methods on Handle take &self rather than &mut self, and a Handle may be shared between multiple threads.

Like std::process::Child, Handle doesn't do anything special in its destructor. If a Handle goes out of scope without calling wait or similar, child processes and background threads will keep running, and they'll leave zombies when they exit.

See the shared_child crate for implementation details behind making handles thread safe.

Methods

impl Handle[src]

pub fn wait(&self) -> Result<&Output>[src]

Wait for the running expression to finish, and return a reference to its std::process::Output. Multiple threads may wait at the same time.

pub fn try_wait(&self) -> Result<Option<&Output>>[src]

Check whether the running expression is finished. If it is, return a reference to its std::process::Output. If it's still running, return Ok(None).

pub fn output(self) -> Result<Output>[src]

Wait for the running expression to finish, and then return a std::process::Output object containing the results, including any captured output. This consumes the Handle. Calling start followed by output is equivalent to run.

pub fn kill(&self) -> Result<()>[src]

Kill the running expression.

Trait Implementations

impl HandleExt for Handle[src]

Auto Trait Implementations

impl Send for Handle

impl Sync for Handle

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.