Я пытаюсь построить цепочку труб поверх ssh.
mkfifo localpipe;
и на удаленной машине mkfifo remotepipe;
cat localpipe | ssh -q einstein "cat > remotepipe"
Использование echo "input;" > localpipe
Я могу отправлять ввод в программу, которая читает из удаленной трубы. Но после этого удаленная труба, локальная труба и ssh-соединение будут закрыты.
Есть ли способ сохранить localpipe и ssh открытыми, но закрыть remotepipe, что мне нужно для того, чтобы программа на удаленной стороне обрабатывала свой ввод?
Если это не работает с cat или какой-либо другой командой unix, могу ли я написать короткую замену cat в C для достижения этого?
localpipe также может быть закрыт, но я хочу оставить ssh открытым по соображениям скорости.