Function std.process.execute
Executes the given program or shell command and returns its exit code and output.
						
				Tuple!(int,"status",string,"output") execute
				(
				
				  scope const(char[])[] args,
				
				  const(string[string]) env = cast(const(string[string]))null,
				
				  Config config = Config(Flags
				  ulong maxOutput = 18446744073709551615LU,
				
				  scope const(char)[] workDir = null
				
				) @safe;
				
				
				Tuple!(int,"status",string,"output") execute
				(
				
				  scope const(char)[] program,
				
				  const(string[string]) env = cast(const(string[string]))null,
				
				  Config config = Config(Flags
				  ulong maxOutput = 18446744073709551615LU,
				
				  scope const(char)[] workDir = null
				
				) @safe;
						
					
				execute and executeShell start a new process using
spawnProcess and spawnShell, respectively, and wait
for the process to complete before returning.  The functions capture
what the child process prints to both its standard output and
standard error streams, and return this together with its exit code.
auto dmd = execute(["dmd", "myapp.d"]);
if (dmdThe args/program/command, env and config
parameters are forwarded straight to the underlying spawn functions,
and we refer to their documentation for details.
Parameters
| Name | Description | 
|---|---|
| args | An array which contains the program name as the zeroth element
            and any command-line arguments in the following elements.
            (See spawnProcessfor details.) | 
| program | The program name, without command-line arguments.
            (See spawnProcessfor details.) | 
| command | A shell command which is passed verbatim to the command
            interpreter.  (See spawnShellfor details.) | 
| env | Additional environment variables for the child process.
            (See spawnProcessfor details.) | 
| config | Flags that control process creation. See Configfor an overview of available flags, and note that theretainStd...flags have no effect in this function. | 
| maxOutput | The maximum number of bytes of output that should be captured. | 
| workDir | The working directory for the new process. By default the child process inherits the parent's working directory. | 
| shellPath | The path to the shell to use to run the specified program.
            By default this is nativeShell. | 
Returns
An Tuple!(int, "status", string, "output").
POSIX specific
If the process is terminated by a signal, the status field of
the return value will contain a negative number whose absolute
value is the signal number.  (See wait for details.)
Throws
ProcessException on failure to start the process.
StdioException on failure to capture output.
Authors
Lars Tandle Kyllingstad, Steven Schveighoffer, Vladimir Panteleev