The exec*() family of functions replaces the current
process with a new process, loaded from an executable file.
Since the calling process is replaced, there can be no
successful return.
The following exec*() functions are defined:
- execl()
- Exec with the command line provided as inline arguments.
- execle()
- execl() with explicitly passed environment variables.
- execlp()
- execl() that follows the command search path.
- execlpe()
- execlp()with explicitly passed environment variables.
- execv()
- execl() with the command line pointed to by an array of pointers.
- execve()
- execv() with explicitly passed environment variables.
- execvp()
- execv() that follows the command search path.
- execvpe()
- execvp() with explicitly passed environment variables.
The exec*() functions usually follow a
fork() or vfork() in order to load a
new child process. This is better achieved by using the
posix_spawn() call.