именованные каналы не дадут вам полнодуплексные операции, поэтому будет немного сложнее, если вам нужно будет указать только одно имя файла.
Знаете ли вы, нужно ли вашим приложениям искать файл?
Ваше приложение работает с stdin, stdout?
Возможно, решение состоит в том, чтобы создать мини-сжатую файловую систему, которая содержит только каталог с вашими файлами
Поскольку у вас есть отдельный входной и выходной файл, вы можете сделать следующее:
mkfifo readfifo
mkfifo writefifo
zcat your inputfile > readfifo &
gzip writefifo > youroutputfile &
launch your program !
Теперь у вас, вероятно, возникнут проблемы с чтением дважды в порядке ввода, потому что, как только zcat закончит чтение входного файла, ваша программа получит сигнал SIGPIPE
Правильным решением, вероятно, является использование сжатой файловой системы, такой как CompFUSE, потому что тогда вам не нужно беспокоиться о неподдерживаемых операциях, таких как поиск.