Ah, I guess the std non-async Command
blocks the entire runtime. Try using a tokio::process::Command instead.
What I believe happens here, is that warp is listening for requests, but can't actually handle anything until the command is done (but when the command is done, warp is immediately told to shut down). In general, when using any async code, you want to avoid all potentially blocking synchronous blocking code.