Sign in Join
FPDoc Onlineexperiment

FpExecLE function

In unit Unix

Execute process (using argument list, environment).

Declaration

pascal
function FpExecLE(const PathName: RawByteString; 
 const S: Array of RawByteString = type string(CP_NONE); 
 MyEnv: PPAnsiChar): cint

Description

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

pascal
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.