Реферат Курсовая Конспект
Синопсис - раздел Образование, Лекція 4 5 Створення процесу # Include <unistd.h Int Execl (Const Char *path, Const Char *arg0...
|
# include <unistd.h
int execl (const char *path, const char *arg0, . . ./*, (char *)0 */);
int execle (const char *path, const char *arg0, . . ./*, (char *)0 *, char * const envp[]*/);
int execlp (const char *fale, const char *arg0, . . ./*, (char *)0 */);
int execv (const char *path, char *const arg[]);
int execve (const char *path, char *const arg[], char *const envp[]);
int execvp (const char *fale, char *const arg[]);
2.4. Функція execv ()
Функції execv (),execve () і execvp () передають аргументи командної стрічки у вектори вказівників на стрічки із завершальним нульовим символом. Кількість аргументів командної стрічки повинно бути відоме під час компіляції. Елемент argv [0] як правило є командою.
· int execv (const char *path, char *const arg[]);
Тут path –дорожнє (шляхове) ім'я програми, що виконується. Його можемо задати у вигляді повного складеного імені або відносного складеного імені з біжучого каталогу. Наступний параметр є вектором (з завершальним нульовим символом), який містить аргументи командної стрічки, подані у вигляді стрічок з завершальним нульовим символом. Всього може бути n аргументів. Даний вектор завершується NULL-вказівником. Елементу arg[] можемо надати значення наступним чином:
char *const arg[] = {“traverse”, “.”, “>”, “1000”, NULL};
Приклад виклику цієї функції:
execv (“traverse”, arg);
В цьому випадку утиліта traverse перерахує всі файли в біжучому каталозі розмір яких більше 1000 байт.
· int execve (const char *path, char *const arg[], char *const envp[]);
Дана функція аналогічна функції execv (), за однією відмінністю: вона має додатковий параметр, envp[], який описано вище.
· int execvp (const char *fale, char *const arg[]);
Тут fale – ім'я програми яка виконується. Наступний параметр є вектором (з завершальним нульовим символом), який містить аргументи командної стрічки, подані у вигляді стрічок з завершальними нульовими символами. Всього може бути n аргументів. Даний вектор завершується NULL-вказівником.
Подано приклад застосування синтаксису функції execvp () з різними аргументами:
char *const arg [ ] = {“traverse”, “.”, “>”, “1000”, NULL};
char *const evenp [ ] = {“files = 50”, NULL};
execv (“/path/traverse”, arg};
execve (“/path/traverse”, arg, envp};
execv (“traverse”, arg};
Тут в кожному прикладі виклику execv-функції активізований процес виконує програму traverse.
2.5. Визначення обмежень для функції exec ()
Існують обмеження на розміри вектора argv [ ] і масиву envp [ ], які передаються функціям сімейства exec. Для визначення максимального розміру аргументів командної стрічки і розміру змінних середовища при використанні exec-функцій (які приймають параметр envp [ ] можемо використати функцію sysconf ()). Щоб дана функція повернула розмір, її параметру name необхідно передати значення _SC_ARG_MAX.
– Конец работы –
Эта тема принадлежит разделу:
Синопсис... pstree a c h frac Hpid l n p u G frac U... pid frac user...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Синопсис
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов