[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'sysutils' (#rtl)

# ExecuteProcess

Execute another process (program).

## Declaration

Source position: osutilsh.inc line 33

`function ExecuteProcess(`
`const Path: RawByteString;`
`const ComLine: RawByteString;`
`Flags: TExecuteFlags = []`
`):Integer; function ExecuteProcess(`
`const Path: RawByteString;`
`const ComLine: array of RawByteString;`
`Flags: TExecuteFlags = []`
`):Integer; function ExecuteProcess(`
`const Path: UnicodeString;`
`const ComLine: UnicodeString;`
`Flags: TExecuteFlags = []`
`):Integer; function ExecuteProcess(`
`const Path: UnicodeString;`
`const ComLine: array of UnicodeString;`
`Flags: TExecuteFlags = []`
`):Integer;`

## Description

ExecuteProcess will execute the program in Path, passing it the arguments in ComLine. ExecuteProcess will then wait for the program to finish, and will return the exit code of the executed program. In case ComLine is a single string, it will be split out in an array of strings, taking into account common whitespace and quote rules.

The program specified in Path is not searched in the searchpath specified in the PATH environment variable, so the full path to the executable must be specified in Path, although some operating systems may perform this search anyway (notably, windows)

Flags can be used to control the passing of file handles: if ExecInheritsHandles is included, the file handles of the current process will be passed on to the newly executed process.

## Errors

In case the program could not be executed or an other error occurs, an EOSError exception will be raised.

## See also

TExecuteFlags |  | Flags for ExecuteProcess
EOSError |  | Operating system error.