DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Лабораторна робота № 4: Створення процесів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Факультет комп’ютерних наук
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Операційні системи
Група:
УІ-31
Коротко про документ

Про що ця робота

У лабораторній роботі досліджується створення процесів у середовищі ОС Linux за допомогою системного виклику fork. Розроблено програму на мові C для демонстрації розгалуження та перенаправлення стандартного виводу.

У роботі розглядаються

  • Операційні системи
  • Процеси в Linux
  • Системний виклик fork
  • Керування процесами
  • Мова програмування C
  • Перенаправлення вводу-виводу

Зміст і розділи

  1. Мета
  2. Завдання
  3. Код програми
  4. Результати роботи програми
  5. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Баран Р. Д.

Ключові поняття

процесforkLinuxідентифікатор процесудублювання дескрипторабатьківський процесдочірній процесперенаправлення виводусистемний виклик

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» / Лабораторна робота № 4 Створення процесів З курсу “Операційні системи“ Мета: навчитись створювати процеси і курувати їх виконанням а ОС Linux. Завдання: Розробити програму, що виконує "розгалуження"за допомогою системного виклику fork (). Вивести на екран ідентифікатори PID для батьківського і дочірнього процесів. Використовувати функцію пере направлення стандартного виводу у файл. Варіанти завдань 1. Призупинити на 1 с батьківський процес. У дочірньому процесі виконати стандартну команду ps, перенаправлення виводу у файл номер 1. Слідом за цим завершити дочірній процес. У батьківському процесі викликати ps і пере направити ввід в файл номер 2. Код програми написаної на мові с #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> int main(){ int pid; int outfile; puts("Who is there?"); pid=fork(); if (pid == 0) { // Потомок printf("I'm, CHILD (PID:%d)\n",getpid()); if ((outfile = dup(1))==-1) return -1; close(1); // закрытие стандартного устройства вывода (TTY) if ((outfile=open("1.txt", O_WRONLY|O_TRUNC|O_CREAT,00644))>=0) { execl("/bin/ps","ps",NULL); } return 0; } else if (pid > 0){ // Родитель sleep(1); printf("I'm, PARENT (PID:%d)\n",getpid()); if ((outfile = dup(1))==-1) return -1; close(1); // закрытие стандартного устройства вывода (TTY) if ((outfile=open("2.txt", O_WRONLY|O_TRUNC|O_CREAT,00644))>=0) { execl("/bin/ps","ps",NULL); } return 0; } else { perror("Fork error "); return -1; } wait(pid); return 0; } Результати роботи програми програми / / / Висновок: на цій роботі я навчився створювати процеси і курувати їх виконанням а ОС Linux.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!