radicle_ci_broker::timeoutcmd

Struct RunningProcess

Source
pub struct RunningProcess { /* private fields */ }
Expand description

Manage a running child process and capture its output.

This is created by TimeoutCommand::spawn.

Implementations§

Source§

impl RunningProcess

Source

pub fn stdout(&self) -> &LineReceiver

Return a LineReceiver that returns lines from the sub-process standard output.

Source

pub fn stderr(&self) -> &LineReceiver

Return a LineReceiver that returns lines from the sub-process standard error output.

Source

pub fn kill(&self) -> Result<(), TimeoutError>

Terminate sub-process with extreme prejudice.

Source

pub fn wait(self) -> Result<TimeoutResult, TimeoutError>

Wait for child process to terminate. It may terminate because it ends normally, or because it has run for longer than the limit set with TimeoutCommand::new. The return value of this method will specify why, see TimeoutResult::timed_out.

Note that if the sub-process produces a lot of output, you must read it to avoid the process getting stuck; see RunningProcess::stdout and RunningProcess::stderr. If you don’t read the output, the sub-process will fill its output pipe buffer, or the inter-thread communication channel buffer, and the sub-process will block on output, and not progress. This may be unwanted. The blocking won’t affect the sub-process getting terminated due to running for too long.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T