Module: Everywhere::ChildSupervision

Included in:
Everywhere::Commands::Dev, Everywhere::Commands::Preview
Defined in:
lib/everywhere/child_supervision.rb

Overview

The long-lived children a session keeps on a leash, one per key: every dev's dev server, desktop shell and log stream; every preview's server and tunnel.

It sits above ChildProcesses — which knows how to signal one pid's process group but nothing about names — and beside Shellout, which knows how to spawn one child but never remembers it. What lives here is the session-scoped => pid registry, and the teardown that must not let a child outlive the CLI that opened it.

A mixin rather than a collaborator object: the registry has exactly one owner (the command), and these read as the command's own vocabulary — stop_child(:web), child_pid(:desktop).