pub(crate) fn kill_process_group_gracefully(child: &Child)Expand description
SIGTERM an entire process group, before the harder
kill_process_group_forcefully follows. The teardown backstop uses it
on the host’s group; srv is never group-signalled first, since its own
SIGTERM/stdin-EOF shutdown closes its agents (upgrade::quiesce_srv).