![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Alto Nível de programação Post perguntas sobre C, C + +, Java, SQL, e outras linguagens de programação aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| pergunta sobre grep, corte e tubagens | dyrt | Programação Shell Script e | 1 | 02-28-2008 11:12 |
| Tubagens a ex de um script | mph | Programação Shell Script e | 2 | 10-11-2007 04:54 |
| Tubagens em UNIX | simo007 | UNIX para Dummies Perguntas & Respostas | 3 | 05-23-2007 03:40 |
| tubagem | lnatz | Programação Shell Script e | 1 | 07-14-2006 03:30 |
| Ajuda (Piping ls, tr, corte) | scan | Programação Shell Script e | 2 | 02-11-2006 08:40 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Pergunta Tubagens
Tenho uma pergunta encanamentos, estou tentando implementar encanamentos em meu próprio reservatório e estou tendo alguns problemas esentially ... Estou tentando fazer algo para fazer comando | comando | comando.
Eu posso começá-lo funcionar bem se o último comando tubo não é bifurcadas, mas executa no reservatório e, em seguida, sai .. mas eu preciso é para a mesa. I tryed o seguinte, mas ele vai pendurar .. alguma sugestão? Tenho a sensação de que tem algo a ver com o fecho / abertura descritores, mas não sei ... obrigado.: Código:
int pipe1[2], pipe2[2];
pipe(pipe1);//create first pipe
pid_t PID=fork();
if(PID==0){
close(1);
dup(pipe1[1]);
close(pipe1[0]);
close(pipe1[1]);
execvp(*argv,argv);
printf("operation failed");
} else {
pipe(pipe2);
pid_t PID2=fork();
if (PID2==0) {
close(0);
dup(pipe1[0]);
close(1);
dup(pipe2[1]);
close(pipe1[0]);
close(pipe1[1]);
close(pipe2[0]);
close(pipe2[1]);
execvp(*argv2, argv2);
} else {
pid_t PID3=fork();
waitpid(PID3,&status,0);<-----Not sure about this
if(PID3==0){
close(0);
dup(pipe2[0]);
close(pipe1[0]);
close(pipe1[1]);
close(pipe2[0]);
close(pipe2[1]);
execvp(*argv3, argv3);
}
}
}
Última edição por Yogesh Sawant; em 04/25/2008 04:33.. Motivo: adicionado código tags |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|