#[non_exhaustive]pub struct Lamb {
pub pid: u32,
pub name: String,
pub label: Option<String>,
}Expand description
One process the OS reports as a descendant of a sheep.
Not the set of processes that die with the sheep: this is a parent-pid
walk, where the stop ladder acts on the process group. A lamb that forks
and exits leaves children re-parented to init, out of this list and still
in the group; a setsid() grandchild stays in the list and leaves the
group.
name is the executable’s name (node, sh), never argv, which carries
credentials and would ride into shep describe --format json. Build one
with Self::new.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.pid: u32The lamb’s own pid.
name: StringThe executable’s name, as the OS reports it. Never its command line.
label: Option<String>What the sheep named this lamb on its shepherd channel, with a
ChildMessage::LambLabel.
None when it sent none, or the shepherd predates labels. Never
read from the OS, so the no-argv rule above still holds.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Lamb
impl<'de> Deserialize<'de> for Lamb
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Lamb
impl StructuralPartialEq for Lamb
Auto Trait Implementations§
impl Freeze for Lamb
impl RefUnwindSafe for Lamb
impl Send for Lamb
impl Sync for Lamb
impl Unpin for Lamb
impl UnsafeUnpin for Lamb
impl UnwindSafe for Lamb
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.