exec() je v informatice speciální systémové volání poskytované unixovým jádrem operačního systému. Jeho vyvoláním je kód běžícího procesu kompletně nahrazen programem, který je předán jako parametr. Zachováno zůstane PID a prostředí procesu (otevřené soubory, PCB apod.), avšak před jeho voláním je pro otevřené soubory nutné vyprázdnit buffery a cache.

Volání exec() je typicky využíváno po volání fork() při vytváření nových procesů.

Prototypy knihovních funkcí Prototypy knihovních funkcí jsou dle standardu POSIX deklarovány v hlavičkovém souboru unistd.h a pro DOS, OS/2 a Microsoft Windows v souborech process.h.

int execl(char const *path, char const *arg0, ...); int execle(char const *path, char const *arg0, ..., char const * const *envp); int execlp(char const *path, char const *arg0, ...); int execv(char const *path, char const * const * argv); int execve(char const *path, char const * const *argv, char const * const *envp); int execvp(char const *path, char const * const *argv);

Související články fork (systémové volání) exit (systémové volání) exec (Unix) – příkaz shellu

Externí odkazy http://opengroup.org/onlinepubs/009695399/functions/exec.html – popis systémového volání exec() (anglicky)

Kategorie:Systémové volání Kategorie:Programování Kategorie:Unix Kategorie:POSIX