В общем, нет. Одной из причин такой оценки является то, что стандартное чтение ввода-вывода из файлов, а не терминала, считывает блоки данных - байты BUFSIZ за раз, где BUFSIZ обычно имеет мощность 2, например 512 или более. Если данные находятся в файле, один процесс будет читать весь указанный файл - остальные ничего не увидели бы, если бы они разделили одно и то же открытое описание файла (аналогично файловому дескриптору, но несколько файловых дескрипторов могут совместно использовать одно и то же описание открытого файла и может быть в разных процессах), или будет читать весь тот же файл, если они не используют одно и то же описание открытого файла.
Итак, вам нужен процесс для чтения файла, который знает, что ему необходимо отправить информацию в три процесса - и ему нужно знать, как подключиться к трем процессам. Возможно, ваша программа-дистрибьютор запускает три процесса и записывает их на отдельные входы. Или может случиться так, что дистрибьютор подключается к трем сокетам и записывает их в разные сокеты.
Ваш пример не показывает/не описывает, что произойдет, если бы было 37 разделов, разделенных маркером.
У меня есть программа самогон под названием tpipe
, которое, как tee
команды Unix, но он пишет копию (все) стандартного ввода для каждого из процессов, а также на стандартный вывод тоже по умолчанию. Это может быть подходящей основой для того, что вам нужно (оно, по крайней мере, охватывает часть управления процессом). Свяжитесь со мной, если вы хотите получить копию - см. Мой профиль.
Если вы используете Bash, вы можете использовать регулярные tee
с подменой процесса для имитации tpipe
. См. Это article для иллюстрации того, как.
Смотрите также SF 96245 для другой версии той же самой информации - плюс ссылку на программу под названием pee
, которая очень похожа на tpipe
(та же самая основная идея, немного отличается реализации в различных аспектах).
Как 'tpipe' отличается от' pee'? –
Я написал tpipe и раньше не слышал о мочах. Но меня не удивляет, что кто-то другой имел одно и то же основное требование и реализовал его. Я не уверен, что вы можете догадаться, как сложно искать «мочиться» через Google (даже «site: gnu.org pee» появляется спам)! Таким образом, без URL-адреса программного обеспечения я не могу сравнивать и не сравнивать вас. –
http://serverfault.com/questions/96245/linux-debian-what-does-pee-in-moreutils-do показывает 'pee' в использовании и показывает, как вам не нужно' pee' в 'bash':' кошачий файл | tee> (command1> out1)> (command2> out2) ' –