Интересует, как реализовать то, что можно делать в командной строке: ls > file1 > file2
Если в один файл, то все понятно: с помощью dup2() заменить STDOUT_FILENO на fd нужного файла, но вот если нужно несколько...
Единственное, что мне приходит в голову — это запустить процесс дочерний, который будет сидеть на STDOUT_FILENO и вручную записывать в каждый fd.
Может у кого-нибудь есть лучшее решение?
как реализовать то что можно делать в командной строке:
ls > file1 > file2
Эта командная строка вовсе не перенаправляет поток в несколько файлов. Вывод попадает только в один из них. Второй файл создаётся, но остаётся пустым.
Перенаправить вывод в несколько файлов можно командой tee: ls | tee file1 file2
Единственно что мне приходит в голову...вручную записывать в каждый fd.