The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"I write shell for Unix, help me !!!"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"I write shell for Unix, help me !!!"
Сообщение от Dale Dugburg emailИскать по авторуВ закладки on 09-Мрт-02, 19:34  (MSK)
How I can redirect child's output stream
in the pipe, what the parent process can read data from pipe.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: I write shell for Unix, help me !!!"
Сообщение от Soldier Искать по авторуВ закладки on 10-Мрт-02, 09:37  (MSK)
> How I can redirect child's
>output stream
>in the pipe, what the parent
>process can read data from
>pipe.

I do not know if it is realy what  you need, but programm bellow
writes some data to one  file descriptor in the child and  read them
from another file descriptor in the parent. May be this will be helpfull
for you  somehow.

#include <stdio.h>
#include <sys/wait.h>

void  main(void) {
int fds[2];
int pid,res;
char buf[512];
FILE *f;

memset(buf,0,sizeof buf);

if (pipe(fds)<0) return;

switch (pid=fork()) {
  case 0:  //Here the child
   close(fds[0]);
           f=popen("ls /usr/","r");
   if (f==NULL) return;
   while(fgets(buf,sizeof(buf)-1,f)!=NULL) {
    write(fds[1],buf,strlen(buf)+1);
   }
   pclose(f);
   close(fds[1]);
   puts("Child finished");
   return;
  case -1: return;

}


// Parent now
close(fds[1]);
while(waitpid(pid,NULL,WNOHANG)<=0) {
  if (read(fds[0],buf,sizeof(buf)-1)>0)
   printf("Got from child:%s",buf);
}
puts("Parent finished");
return;
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: I write shell for Unix, help me !!!"
Сообщение от Арлекин Искать по авторуВ закладки on 10-Мрт-02, 11:03  (MSK)
man dup2
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру