Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт.doc
Скачиваний:
2
Добавлен:
10.09.2019
Размер:
107.52 Кб
Скачать

1.Підключення бібліотек.

2.PID та PPID.

3.Створення нового процесу fork.

4.Взнаємо ідентифікатори PID та PPID.

5.Печатаємо значення PID та PPID.

Індивідуальне завдання №3

Завдання

1. Скласти програму на мові С яка б міняла контекст процесу користувача (запускала б іншу програму). Відком­пілюйте її за допомогою системного виклику execle(). Для завдання потріб­но вжити команду cat з аргументом в командній лінійці ааа.с без зміни па­раметрів середовища, тобто фактично виконати команду "cat ааа.с", яка по­винна вивести вмістиме даного файла ааа.с на екран. Для функції ехесіе в якості імені програми ми вказуємо її повне ім'я зі шляхом від кореневої ди­ректорії - "/bin/cat". Перше слово в ко­мандній лінійці повинно співпадати у нас з іменем запускаючої програми. Друге слово в командній лінійці - це ім'я файла ааа.с, інформацію якого ми бажаємо розпечатати. Відкомпілюйте створену програму і прослідіть, щоб у вас файл ааа.с був присутній в текучій директорії (простіше записати текст програми під даним іменем). Проана­лізуйте результат.

2. Блок-схема

Програма

/* Програма 03-2.c, яка змінює контекст процесу (яка запускає іншу програму)*/

  • include <sys/types. h> /*підключаємо бібліотеки*/

  • include <unistd. h>

  • include <studio. h>

Int main (int arge, char *argv [], char *envp []) /*повний прототип функції main*/

{

/* Ми будем запускати команду cat з аргументом командної лінійки "03- 2.с" без зміни параметра середовища, тобто виконувати команду «cat 03- 2.с», яка повинна видати вмістиме даного файла на екран. Для функції execle в якості імені програми вказуємо її повне ім'я зі шляхом від корене­вого каталога - /bin/cat/. Перше слово - це ім'я програми запуску, друге - вмістиме якого хочемо розпечатати *./

(void) execle ("/bin/cat", "/bin/cat", "cat 03-2.c ", 0, envp);

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

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

exit (-1);

return 0; /* ніколи не виконується, а потрібен для того щоб компілятор не видавав warning */

}

4.

Висновок:

Опис програми. При виконанні цієї роботи я використав такі блоки:

1.Підключення бібліотек.

2.Підключення int main (int arge, char *argv [], char *envp [])

3.Системний виклик execle.

4.Вивід повідомленя.

При виконання цієї роботи я склав програму на мові С яка міняла контекст процесу користувача. І відкомпілювали її за допомогою системного виклику

execle().Для функції execle в якості імені програми я вказав її повне ім’я зі шлахом від кореневої директорії.

Індивідуальне завдання №4

Завдання

1.Написати програму на мові С, яка б демонструвала читання інформації з файла. Наберіть програму, відкомпілюйте її і запустіть її на виконання. Подумайте і реалізуйте виведення ін­формації, прочитаної в файлі на екран.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]