pub async fn stop(&mut self) -> Option<ChildExit> {
        // if this fails, it's because the channel is dropped (toctou)
        // we can just ignore it
        self.command_channel.stop().await.ok();
        self.wait().await
    }
Perform a graceful shutdown of the `Child` process.
crates/turborepo-process/src/child.rs