Re[2]: Связка двух дочерних процессов пайпами
От: GuessWho  
Дата: 07.09.10 10:25
Оценка:
Здравствуйте, dilmah, Вы писали:


GW>>pid_t exec_redirect(const char *path, char *const args[], int& wr_fd, int rd_fd)


D>почему порядок то сперва read потом write, а тут наоборот.

Не очень понял вопроса.

GW>> char *const args[] = {"/bin/gzip", "gzip", "-f", "-", NULL};


D>что это за второй аргумент args[1] "gzip", не понимаю что он значит.

Да, тут мой косяк. Ввел в заблуждение man: "The first argument, by convention, should point to the filename, associated with the file being executed". Подумалось, что имеется ввиду первый член args[].

А вообще, проблема решилась. Оказалось, не все неиспользуемые файловые дескрипторы в новых процессах закрывал. Хотя, нашел решение проще и по-моему красивее: запустил shell с командой а-ля
gzip — | openssl enc
и уже шеллу подменил стандартный ввод и вывод.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.