It doesn't work for all streams but for the stdout/stderr case where they can be treated like file descriptors, I prefer this simpler approach over fiddling with the Streams API.
(If blocking the process on writing synchronously to stdout is indeed what you actually want...)