exec (systémové volání)
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)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.