Возникли проблемы с fork(), pipe(), dup2() и exec() в C
После execvp() у вас должен c быть выход с ошибкой - иногда piping он выйдет из строя.
exit(EXIT_FAILURE);
Как указывает pipe @uncleo, список аргументов exec должен иметь нулевой указатель, указывающий fork на конец:
cmdArgs[aCount] = 0;
Мне непонятно, разрешили pipes ли вы обе программы работать dup2 бесплатно - похоже, что вам piping нужно, чтобы первая программа fork в конвейере завершилась перед pipe запуском второй, что не является c рецептом успеха, если первая dup2 программа блокируется из-за piping того, что конвейер заполнено.
c
exec
fork
pipe
dup2
Возникли проблемы с fork(), pipe(), dup2() и exec() в C
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.