I thought I should announce the process-extras package, available from
hackage. It extends the process reading functions in System.Process to allow output types ByteString and Text, both strict and lazy. It also provides a function readCreateProcessLazy that can read from processes whose output is infinite - the regular readProcess functions block until they find EOF. There are also some new usage examples in the README.md file.
This package has a long history, so if you are familiar with an older version you may want to take another look.