Лабораторная работа №2

Часть 1


Основываясь на примере, приведенном в подготовке к лабораторной работе №2, используя функции fork() и pipe(), как во втором примере, реализуйте следующую систему межпроцессного взаимодействия:

1)Дочерний процесс запускает какую-либо утилиту.

2)Родительский процесс осуществляет вывод данных, являющихся результатом работы запущенной в дочернем процессе утилиты.


Часть 2


Основываясь на примере, модели клиент-сервер, постройте следующую схему межпроцессного взаимодействия:

Пользователь запускает серверную и клиентскую части. В серверную он вводит строку (как в примере), а клиентская часть выполняет программу, для которой введенная строка является параметром.

Программа, выполняемая клиентской частью ? реализованная вами в ходе выполнения лабораторной работы №1 или команда ls.


Пример:

После запуска клиентской и серверной части модели, вы вводите в серверной части строку $HOME/dir1. Клиентская часть отображает содержимое этой директории ($HOME/dir1 ? переданный параметр).


Реализовать обработку ошибок, на предмет количества переданных аргументов, или сделать возможным обработку любого числа аргументов.