pub struct ContainedProcessGroup { /* private fields */ }Expand description
A group of processes that are killed together when the group is dropped.
On Windows this wraps a Job Object; on Unix it tracks a process-group ID
and sends SIGKILL to the group on drop.
Implementations§
Source§impl ContainedProcessGroup
impl ContainedProcessGroup
Sourcepub fn with_originator(originator: &str) -> Result<Self, Error>
pub fn with_originator(originator: &str) -> Result<Self, Error>
Create a new process group with an originator name.
Sourcepub fn originator(&self) -> Option<&str>
pub fn originator(&self) -> Option<&str>
Returns the originator name, if set.
Sourcepub fn originator_value(&self) -> Option<String>
pub fn originator_value(&self) -> Option<String>
Returns the full originator env var value (TOOL:PID), if set.
Sourcepub fn spawn(&self, command: &mut Command) -> Result<ContainedChild, Error>
pub fn spawn(&self, command: &mut Command) -> Result<ContainedChild, Error>
Spawn a contained child process. The child will be killed when this group is dropped.
Sourcepub fn spawn_detached(
&self,
command: &mut Command,
) -> Result<ContainedChild, Error>
pub fn spawn_detached( &self, command: &mut Command, ) -> Result<ContainedChild, Error>
Spawn a detached child process. The child will survive this group being dropped.
Sourcepub fn spawn_with_containment(
&self,
command: &mut Command,
containment: Containment,
) -> Result<ContainedChild, Error>
pub fn spawn_with_containment( &self, command: &mut Command, containment: Containment, ) -> Result<ContainedChild, Error>
Spawn a child process with the given containment policy.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ContainedProcessGroup
impl RefUnwindSafe for ContainedProcessGroup
impl Send for ContainedProcessGroup
impl Sync for ContainedProcessGroup
impl Unpin for ContainedProcessGroup
impl UnsafeUnpin for ContainedProcessGroup
impl UnwindSafe for ContainedProcessGroup
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more