DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» / Лабораторна робота № 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.
Антиботан аватар за замовчуванням

2015

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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