19.4. The exec-like Functions
Unix systems provide a family of functions that replace the execution context of a process with a new context described by an executable file. The names of such functions start with the prefix exec followed by one or two letters; therefore, a generic function in the family is usually referred to as an exec-like function.
The exec-like functions are listed in Table 19-7; they differ in how the parameters are interpreted.
| Function Name | PATH Search | Command-Line Arguments | Environment Array |
|---|---|---|---|
| execl( ) | No | List | No |
| execlp( ) | Yes | List | No |
| execle( ) | No | List | Yes |
| execv( ) | No | Array | No |
| execvp( ) | Yes | Array | No |
| execve( ) | No | Array | Yes |
The first parameter of each function denotes the pathname of the file to be executed. The pathname can be absolute or relative to the process's current directory. Moreover, if the name does not include any / characters, the execlp( ) and execvp( ) functions search for the executable file in all directories specified by the PATH environment variable.
Besides the first parameter, the execl( ), execlp( ), and execle( ) functions include a variable number of additional parameters. Each points to a string describing a command-line argument for the new program; as the l character in the function names suggests, the parameters are organized in a list terminated by a NULL value. Usually, the first command-line argument duplicates the executable filename. Conversely, the execv( ), execvp( ), and execve( ) functions ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access