LINUX.ORG.RU

Не понял. А чем не подходит man dup2 ?

anonymous
()

А какой Вы запукаетепроцесс: exec() ? fork() ?

anonymous
()

Как правило так: pidd=fork(); if (pid==0) { execp("./child", NULL); или system("./child"); } waitpid(pidd);

saper ★★★★★
() автор топика

Можно создать два пайпа ,в них направить ввод и вывод перед fork'ом, потом fork и читай из пайпа или пиши. Только не перепутай где пишущий конец, а где читающий.

Resident
()

Кстати: а как переправить стандартный вывод из программы
int fd=open();
STDOUT=fd; // STDOUT это макрос или переменная ?????
А может еденственный выход:
int f_std[2], f_err[2];
//
pipe(f_std);
pipe(f_err);
//
#define std_printf( sprintf(f_std[0],
#define err_printf( sprintf(f_err[0],
// Hack! ;-)

// Далее вместо
// printf(_("I love my girl! "));
std_printf(_("I love my girl! "));

anonymous
()

Уважаемые господа, есть такая книга, называется "Системное програмирование на С++ для UNIX" издательтва BVH-Киев. Вот её стоит купить, в ней можно найти ответы на многие вопросы из области пайпов, потоков и т.д... Очень советую почитать, помогает на первом этапе, ну а потом man'ы.

Resident
()

Да видел я эти книгу !

Ну и чего там смотреть ? А кто сказал: что здесь
новенькие ? Новенькие в разделе GENERAL бранятся ;-)

....................................................

anonymous
()

Блин, я же сказал на первых порах, а смотреть SUN IPC и потоки. Да просто посмотреть как нода исходники писать и то полезно на первых порах.

Resident
()

1. Зачем тратить деньги на книжку, когда IPC есть в LPG - Linux
   Programmer's Guide?
2. А при чем тут C++ ?
3. Первоначальный вопрос очень плохо сформулирован. А ведь devel -
   это действительно не general... 

anonymous
()
Ответ на: Не понял от anonymous

Смотря что понимать под словом "мастер".

Resident
()

Прогу подослать?

anonymous
()

Если не сложно пришлите на xsov@mail.ru

saper ★★★★★
() автор топика

Не ребята в натуре опублекуйте прогу здесь !

anonymous
()

Постмотри мою проогу gpm-dict она на этом основана - www.krasu.ru/soft/bada

anonymous
()

Извините за неопределенность(под рукой нет ни доки ни примера), но делается это так: создается пайп: потом делается: естественно, fork с if'ом. Потом в дочерней части stdin и stdout указываешь на пайп (по-моему это делается dup2 ). И можно делать exec. А вообще-то книжку правильно рекомендуют. Там это подробненько описано.

anonymous
()

Книжку все же стоит посмотреть.

anonymous
()

#include stdio.h
void main(void)
{
     printf("Hello world!
");
}
 

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.