Э... Ну... Вообще-то tee скорее всего не очень подойдет... Тут лучше использовать следующую схему
Дублировать потоки 0,1,2 (прихранив в переменные)
Закрыть нужные 1,2 (можно и не закрывать)
Открыть новые на файлы out и err (они будут 1 и 2)
Форкнуться с передачей открытых потоков на файлы
В родителе Висеть на селекте и слушать приход в 1,2
Писать ввывод в файлы и на экран
Очень просто, также как и в линуксе
sudo umount /dev/disk1
dd if=/dev/disk1 of=my.iso bs=2048
Собственно не в этом проблема, а проблема как записать уже имеющийся. У меня их есть :-(
Сергей Протько: Я не настаиваю, чтобы непременно использовать MQ.
Я рекомендовал:
- не использовать сокеты (если только пообучаться)
- не придумывать своих протоколов/велосипедов
- посоветовал то, с чем сам работаю и достаточно успешно
- привел пример реализации на zeromq за 15 минут!!! да, это библиотека, но гораздо лучше голых сокетов, на порядок, и я знаю как их программировать и как это муторно, если без подпорок.
- если уж нужно с авторизацией, то ставим rabbitmq или монструозного, как предложил bogolt: , xmpp.
Но это правильно решение, использовать готовое, будь то mq или одну из реализаций comet.
Ну а если с сокетами, то почитайте - www.linuxhowtos.org/C_C++/socket.htm
Еще не забыть треды прикрутить, сделать мьютексы и настроить pool/epool. Всего-то ничего, строк на 100-200... Плюс реализация своего протокола...
Ну, да, конечно! "Вам нужно разработать простенький минималистичный протокол".... Нафиг всё, будем recvmsg/sendmsg юзать, ошибки переполнения обрабатывать, протоколы придумывать, пользователей авторизовывать, нагрузку распределять... И будет у нас не чатик, на новый mycoolmqlibchat.
Для этого есть снапшоты например (lvm, btrfs, ceph)... Ну и я бы не стал использовать overlayfs в высоконагруженной файловой системе - есть риск получить кирпич из-за нехватки памяти. Но здесь каждый сам себе злобный буратино. Я использую overlayfs только на бездисковых терминалах и на машинках с флеш загрузкой, которые ничего кроме логов не пишут, а если и пишут то раз в квартал очередной конфиг.
А! Ну если так... Что-то вроде супербакапера :-) Только не пойму, зачем столько разных систем поддерживать? Все равно, если человек что-то отличающееся от фата/нтфс/экст34 использует, то скорее всего использует не просто так, а со знанием дела и уже представляет для чего ему это нужно.
DataSource используется в jini, в частности в glassfish, tomcat, jboss, в общем в любом сервере приложений, в соответствии с j2ee.
Но можно и без DataSource, или поднять свой jini (иногда только зачем?).
А можно и как-то сгруппировать по подсетям или еще как, здесь уже от фантазии все зависит :-) и да, биндинги к libpcap есть практически на всех языках, начиная от дельфи и заканчивая явой с питонами и перлами - пиши на чем хочешь.