An abstract configuration for a process, which can then be launched
into an actual running
Process. Takes three type parameters,
providing the types of standard input, standard output, and standard
error, respectively.
There are three ways to construct a value of this type:
- With the proc smart constructor, which takes a command name
and a list of arguments.
- With the shell smart constructor, which takes a shell
string
- With the IsString instance via OverloadedStrings. If you
provide it a string with no spaces (e.g., "date"), it will
treat it as a raw command with no arguments (e.g., proc "date"
[]). If it has spaces, it will use shell.
In all cases, the default for all three streams is to inherit the
streams from the parent process. For other settings, see the
setters below for default values.
Once you have a
ProcessConfig you can launch a process from
it using the functions in the section
Launch a process.