Параллельный запуск цепочки программ, обменивающихся текстовыми файлами
Есть набор унаследованных программ, которые обмениваются данными не через стандартный ввод/вывод, а через текстовые файлы. Лежат в одной папке, входом для первой является один файл с данными.
Алгоритм работы: 1) В папку с программами копируется бинарный файл с данными 2) Запускается цепочка программ, первая из которых считывает файл с данными, она генерирует один или несколько текстовых файлов, которые являются входами для других программ, те в свою очередь тоже пишут файлы, и так до последней программы.
Проблема в том, что необходимо параллельно обрабатывать несколько бинарных файлов с данными (в кроне). Если бы обмен шел через стандартный ввод/вывод, то проблем бы не было, для каждой цепочки был бы свой процесс. Но так как текстовые файлы общие, получится не пойми что, что к чему относится понять будет невозможно.
Использовать лок-файлы затруднительно и ненадежно на мой взгляд, так как много файлов и много процессов. Может генерировать какие-то изолированные песочницы?
Подскажите как решить такую проблему?