Тема: Процессы в Linux
Варианты:
- Напишите программу, которая создает три процесса, два из которых выполняют запись в канал, а один - чтение из него. Процесс, выполняющий чтение, должен выводить все получаемые им сообщения на свой стандартный вывод.
- Для установления двусторонней связи между процессами можно создать два канала, работающих в разных направлениях. Реализуйте диалог между процессами при помощи двух каналов.
- Реализуйте метод, позволяющий родительскому процессу запускать программу в качестве дочернего процесса, а затем считывать ее стандартный вывод при помощи канала.
- Организуйте связь нескольких процессов друг с другом при помощи именованного канала. Процессы не должны иметь общее происхождение.
- Создайте программу, запускающую другой процесс с возможностью обработки клавиш прерывания и завершения с помощью использования сигналов.
- Напишите программу, выводящую некоторое сообщение через равные промежутки времени в течение определенного интервала времени. Использовать функции alarm и pause.
- Напишите функцию sleep(n), задерживающую выполнение программы на n секунд. Воспользуйтесь системным вызовом alarm(n) (будильник) и вызовом pause(), который задерживает программу до получения любого сигнала.
- Используя канал между родителем (клиентом) и потомком (сервером), создайте программу, в которой клиент считывает имя файла из стандартного ввода и записывает в канал. Если файл существует, сервер считывает его и записывает в канал, в противном случае возвращает клиенту сообщение об ошибке.
|