9.1.4. Запуск новой программы: семейство exec()

We use cookies. Read the Privacy and Cookie Policy

9.1.4. Запуск новой программы: семейство exec()

После запуска нового процесса (посредством fork()) следующим шагом является запуск в процессе другой программы. Имеется несколько функций, которые служат различным целям:

#include <unistd.h> /* POSIX */

int execve(const char *filename, /* Системный вызов */

char *const argv[], char *const envp[]);

int execl(const char *path, const char *arg, ...); /* Оболочки */

int execlp(const char *file, const char *arg, ...);

int execle(const char *path, const char *arg, ..., char *const envp[]);

int execv(const char *path, char *const argv[]);

int execvp(const char *file, char *const argv[]);

Мы ссылаемся на эти функции как на «семейство exec()». Функции с именем exec() нет; вместо этого мы используем это имя для обозначения любой из перечисленных выше функций. Как и в случае с fork(), «exec» используется на языке Unix и в качестве глагола, означающего исполнение (запуск) программы, и в качестве существительного.