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

# Execl

Execute process (using argument list)

## Declaration

Source position: line 0

`procedure Execl(`
`const Todo: string`
`); procedure Execl(`
`const Todo: Ansistring`
`);`

## Description

Replaces the currently running program with the program, specified in path. Path is split into a command and it's options. The executable in path is NOT searched in the path. The current environment is passed to the program. On success, execl does not return.

## Errors

Errors are reported in LinuxError:

sys_eacces
  File is not a regular file, or has no execute permission. A compononent 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

Execve |  | Execute process using environment
Execv |  | Execute process
Execvp |  | Execute process, search path
Execle |  | Execute process (using argument list, environment)
Execlp |  | Execute process (using argument list, environment; search path)
Fork |  | Create child process

## Example

    Program Example10;

    { Program to demonstrate the Execl function. }

    Uses oldlinux, strings;

    begin
      { Execute 'ls -l', with current environment. }
      { 'ls' is NOT looked for in PATH environment variable.}
      Execl ('/bin/ls -l');
    end.

Documentation generated on: Feb 26 2014