Доброе время суток.
execve(), fork() - как организовать stdout от exec в родителя?
проблема в следующем:
{
string a;
if(fork()==0) execve("ls","-l",0);
'waitpid'
'exec' --> 'a'
'a' --> например в 'TCP out'...
}
, где а - строка, массив строк или массив символов - не важно, самое главное получить вывод 'ls -l' в главную программу для обработки.
Пытался возиться с pipe, но, по не имению опыта в unixовых системах, запутался окончательно, а инет - примера нигде не нашел :(
Лучший вариант, конечно, если Кто подскажет как организовать такой алгоритм:
{
a="1";
if(!fork())
{
чтото типа pipe;
execve(..)
чтото типа pipe --> a
}else{
..
}
while(1)
{
if(a == "1") {
continue;
}else{
if(a <> "1"){
a --> TCP out
}else{
break;
}
}
}
}
заранее спасибо.
пс: где хоть капать надо?
|