[[a]] -> [a] -base +process
Given a program p and arguments args, showCommandForUser p args returns a string suitable for pasting into sh (on POSIX OSs) or cmd.exe (on Windows).
readProcess forks an external process, reads its standard output strictly, blocking until the process terminates, and returns the output string.
If an asynchronous exception is thrown to the thread executing readProcess. The forked process will be terminated and readProcess will wait (block) until the process has been terminated.
Output is returned strictly, so this is not suitable for interactive applications.
This function throws an IOError if the process ExitCode is anything other than ExitSuccess.
Users of this function should compile with -threaded if they want other Haskell threads to keep running while waiting on the result of readProcess.
> > readProcess "date"  
> "Thu Feb 7 10:03:39 PST 2008\n"
The arguments are:
* The command to run, which must be in the $PATH, or an absolute path
* A list of separate command line arguments to the program
* A string to pass on the standard input to the program.