В разветвленном процессе, непосредственно перед exec
-ing новым изображением, закройте дескрипторы файлов 0 (стандартный вывод), 1 (стандартный вывод) и, возможно, 2 (стандартный вывод).
Затем используйте open()
откройте необходимые файлы в правильном порядке (stdin, out и err).Каждый из них будет использовать первые записи в таблице дескрипторов файлов - 0, 1 и 2. Таким образом, первый открытый файл будет теперь обрабатываться как stdin
.