Я использую popen для выполнения команды под Linux, затем 4 процесса используют один и тот же вывод. Я пытаюсь снова продублировать дескриптор файла, чтобы передать его каждому процессу. вот мой код:
FILE* file_source = (FILE*) popen(source_command, "r");
int fd = fileno(file_source);
fdatasync(fd);
int dest_fd[4], y, total = 4;
for (y = 0; y < total; y++) {
dest_fd[y] = dup(fd);
}
на самом деле, если для total установлено значение 1, оно работает плавно, после изменения total = 4 оно больше не работает. этот ответ слишком близок к тому, что мне нужно: ссылка
does not work anymore
? Я предполагаю, что ваши чтения терпят неудачу, а неdup
- person Hasturkun   schedule 06.05.2010