Creates a new synchronous process running command with args.
Optionaloptions: OptionsOptionaloptions: OptionsBlocks until the child process is ready to emit another event, then returns
that event. This will return an [IteratorReturnResult] with an [ExitEvent]
once when the process exits. If it's called again after that, it will
return {done: true} without a value.
If there's an error running the child process, this will throw that error.
A child process that runs synchronously while also allowing the user to interact with it before it shuts down.