Similar to #216 , but instead of handling the error for the user, return the status and let the user handle it.
ie
val pread :
command ->
string Lwt.t * Unix.process_status Lwt.t
It will also be great to have some documentation around pread that says it will be raise exception on non-zero return.