pub struct SupervisorState {
pub supervisor_pid: Option<u32>,
pub supervisor_alive: bool,
pub sessions: Vec<SupervisedSession>,
pub unmanaged_pids: Vec<u32>,
pub stale_binary_sessions: Vec<String>,
}Expand description
Read-only snapshot of the supervisor’s current topology — supervisor
liveness + per-session daemon liveness + orphan pids the supervisor
is not currently managing. Used by wire supervisor (the CLI
counterpart to single-session wire status) so operators can ask
“what is the multi-session supervisor doing?” in one command
instead of cross-referencing pgrep against per-session pidfiles
by hand.
Fields§
§supervisor_pid: Option<u32>Pid the supervisor.pid file names; None if file missing.
supervisor_alive: boolTrue iff that pid is currently a live process.
sessions: Vec<SupervisedSession>Per-session liveness across every initialized session, in
list_sessions() order.
unmanaged_pids: Vec<u32>wire daemon pids found via cmdline-scan that are NOT mapped
to any session’s pidfile AND are not the supervisor itself.
Could be legacy operator-spawned daemons, leftover children
from a crashed prior supervisor, or daemons serving the
default WIRE_HOME (no --all-sessions). Operators see them
here so they can decide whether to kill.
stale_binary_sessions: Vec<String>v0.14.2: session names whose live daemon’s recorded
pidfile.version is older than this CLI’s own
CARGO_PKG_VERSION. The supervisor’s existing-pidfile check
skips alive daemons regardless of their binary version, so
stale-binary daemons persist until they exit. Surfaced for
operator visibility — they can pkill -TERM <pid> or use a
future wire upgrade --refresh-stale-children to force the
supervisor to respawn them on the current binary.
Trait Implementations§
Source§impl Clone for SupervisorState
impl Clone for SupervisorState
Source§fn clone(&self) -> SupervisorState
fn clone(&self) -> SupervisorState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more