fork execl retorno entre pai e filho

1. fork execl retorno entre pai e filho

Gabriel
Mustang

(usa Ubuntu)

Enviado em 29/11/2009 - 17:24h

Boa tarde a todos,

Ja vou adiantando que ainda sou bem leigo no assunto portanto tentem ser o mais claro possivel nas resposta para que eu possa entender =)

Bom....

Estou com problemas para fazer um retorno entre dois programas usando o fork e execl (não sei nem se essa é a melhor forma)

Preciso saber se uma string passda para o programa principal corresponde ou não a um diretorio.

Para isso peguei um codigo na internet e fiz a seguinte função:

-----------------
Programa isDir
------------------

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

int isDir(const char *dname);

int main(int argc, char *argv[]) {

struct stat sbuf;

if (lstat(argv[1], &sbuf) == -1) {
fprintf(stderr, "lstat() Failed. %s\n", argv[1]);
exit(1);
}

if(S_ISDIR(sbuf.st_mode)) {
//printf("DIR");
return (0);
}
//printf("NO_DIR");
return (2);
}

------------------

estou tentando via "return" ou "exit" pegar o retorno mas não está dando certo
=/

------------------
Trecho do programa principal
------------------

pid_t pid;
int r = -50;

pid = fork();
if (pid == -1) {
fprintf(stderr, "%s: Failed to fork()\n", strerror(errno));
exit(13);
}
if(pid == 0)
{
r = execl( "isDir", "isDir", argv[1], NULL );
if(r == -1){
printf("\n404\n");
exit(404);
}
printf("\n> this:%d <\n", r);
}

------------------

se alguem conseguir ajudar....

a proposito estou usando apenas C puro



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts