Основы операционных систем. Практикум


Example.3.2


/* Программа 03-2.с, изменяющая пользователь-

ский контекст процесса (запускающая

другую программу) */

#include

#include

#include

int main(int argc, char *argv[],

char *envp[]){

/* Мы будем запускать команду cat c аргументом

командной строки 03-2.с без изменения

параметров среды, т.е. фактически выполнять

команду "cat 03-2.c", которая должна выдать

содержимое данного файла на экран. Для

функции execle в качестве имени программы

мы указываем ее полное имя с путем от

корневой директории —/bin/cat.

Первое слово в командной строке у нас

должно совпадать с именем запускаемой

программы. Второе слово в командной строке

– это имя файла, содержимое которого мы

хотим распечатать. */

(void) execle("/bin/cat", "/bin/cat",

"03-2.c", 0, envp);

/* Сюда попадаем только при

возникновении ошибки */

printf("Error on program start\n");

exit(-1);

return 0; /* Никогда не выполняется, нужен

для того, чтобы компилятор не

выдавал warning */

}




- Начало -  - Назад -  - Вперед -