Write a child's PID into the signal-handler's slot before the first await; pass it in at spawn if the await is unavoidable.
A process spawns children and a handler (a SIGCHLD reaper, or a graceful-shutdown path) reads their PIDs, and the spawn crosses an await before the PID is recorded.
The handler fires in the await gap and reads the slot as 0; kill(0, sig) then signals the caller's whole process group, so one shutdown stops every sibling and the parent, not the one child.