mtprog
Tasks for stepic.org course "Multithreading Programming
bashlike
Задача на безымянные каналы.
Пусть есть длинная команда вида:
who | sort | uniq -c | sort -nk1
Надо её прочитать из STDIN, выполнить и STDOUT записать в файл /home/box/result.out.
Конечно, я пишу не в /home/box/, а в ./
namedpipes
Задача на именованные каналы.
Напишите программу, которая создает два именованных канала - /home/box/in.fifo и /home/box/out.fifo
Пусть программа читает in.fifo и все прочитанное записывает в out.fifo.
descriptor transfer
Создайте пару сокетов, соединяющую два процесса (файл с исходниками должен быть один и находиться в /home/box/work.cpp). Процесс должен быть запущен.
Потренируйтесь передавать дескрипторы через эту пару сокетов.
Реализовал сервер, который все входящие соединения перебрасывает на вторую линию. Вторя линия - тупо эхо-сервер.
Message Queue sysV
Создайте очередь сообщения SysV с ключем:
key_t key = ftok("/tmp/msg.temp", 0);
Тестовая среда пошлет в нее сообщение.
struct message {
long mtype;
char mtext[80];
}
Получите его и сохраните в /home/box/message.txt
Mesage Queue POSIX
Создайте очередь сообщения POSIX с именем: /test.mq Тестовая среда пошлет в нее сообщение.
Получите его и сохраните в /home/box/message.txt