Я новичок в программировании на Linux, поэтому, пожалуйста, потерпите меня.В моем приложении я выполняю fork (), а затем execl () другой двоичный файл после настройки одного канала для чтения. После того, как с fork и exec все в порядке, я делаю dup2 () для чтения из stdout исполняемого двоичного файла.Мне нужно, чтобы мое родительское приложение ожидало вывода от процесса, которое оно создало, и когда оно появилось, прочитайте его.Я подумал, что буду использовать select () и подождать несколько миллисекунд, прежде чем пытаться определить, есть ли данные для чтения, и, если они есть, использовать read ().Однако мой код не работает, потому что select () принимает в качестве аргумента fd_set, в то время как мой канал имеет тип int, преобразованный pipe () и dup2 ().Что я могу сделать, чтобы преодолеть это и есть ли другая альтернатива?Обратите внимание, я не блокирую родительский процесс, пока процесс не завершится, но хочу прочитать информацию во время выполнения дочернего процесса.