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
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
- 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
for default values.
Once you have a ProcessConfig
you can launch a process from
it using the functions in the section Launch a process