Hubbry Logo
search
logo

Exec (system call)

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Exec (system call)

In computing, exec is a functionality of an operating system that runs an executable file in the context of an already existing process, replacing the previous executable. This act is also referred to as an overlay. It is specially important in Unix-like systems, although it also exists elsewhere. As no new process is created, the process identifier (PID) does not change, but the machine code, data, heap, and stack of the process are replaced by those of the new program.

The exec() call or some variant is available for many programming languages including compiled languages and some scripting languages. In command interpreters, the exec built-in command replaces the shell process with the specified program.

Interfaces to exec and its implementations vary. Depending on programming language it may be accessible via one or more functions, and depending on operating system it may be represented with one or more actual system calls. For this reason, exec is sometimes described as a collection of functions.

In C, there is no single, plain exec() function.

High-level programming languages usually provide one call named exec().[citation needed]

The POSIX standard declares a family of exec functions in the unistd.h header file. The same functions are declared in process.h for DOS (see below), OS/2, and Microsoft Windows.

Some implementations provide these functions named with a leading underscore (e.g. _execl).

The base of each is exec, followed by one or more letters:

See all
User Avatar
No comments yet.