FpExecLE function
Execute process (using argument list, environment).
Declaration
function FpExecLE(const PathName: RawByteString;
const S: Array of RawByteString = type string(CP_NONE);
MyEnv: PPAnsiChar): cintDescription
FpExecLE replaces the currently running program with the program, specified in
PathName.
S is an array of command options.
The executable in
PathName must be an absolute pathname.
The environment in
MyEnv is passed to the program.
On success,
FpExecLE does not return.
Errors
Extended error information is returned by the FpGetErrno function:
- sys_eacces
- File is not a regular file, or has no execute permission. A component of the path has no search permission.
- sys_eperm
- The file system is mounted noexec.
- sys_e2big
- Argument list too big.
- sys_enoexec
- The magic number in the file is incorrect.
- sys_enoent
- The file does not exist.
- sys_enomem
- Not enough memory for kernel, or to split command line.
- sys_enotdir
- A component of the path is not a directory.
- sys_eloop
- The path contains a circular reference (via symlinks).
See also
Example: ex11
Program Example11;
{ Program to demonstrate the Execle function. }
Uses Unix, strings;
begin
{ Execute 'ls -l', with current environment. }
{ 'ls' is NOT looked for in PATH environment variable.}
{ envp is defined in the system unit.}
Execle ('/bin/ls -l',envp);
end.An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
