• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Knitter

Como iniciar um script perl apartir de código C e receber o resultado?

3 mensagens neste tópico

Boas,

Preciso de iniciar um script em perl sobre um ficheiro de texto. O ficheiro será criado por código C, provávelmente, e o script será iniciado pelo mesmo código. O que preciso é saber como executar o script e receber o seu resultado.

Estou a desenvolver uma aplicação MPI em que o nó Master receber de outra aplicação um ficheiro de texto, esse ficheiro terá de ser enviado para os nós filhos e processado pelos mesmos. Como o problema se reduz a processamento intenso de expressões regulares, perl é a escolha perfeita. O que preciso agora é saber como iniciar o script de forma a conseguir que o código C a correr nos nós filhos receba o resultado do script, recupere o controlo e envie esses resultados para o nó Master.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crias um processo filho que ira executar o comando perl script.pl ou ./script.pl (se o script possuir um shebang e é executável) e fechas o STDOUT do processo filho e fazes o pipe do output do processo filho para dentro do processo pai.

Se não estou em erro vais precisar das seguintes funções: exec(), fork(), dup() e um array de inteiro o qual farás o binding do STDOUT e/ou STDERR do processo filho para dentro do processo pai.

1

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O caso que descreves parece relativamente simples (a interacção com o Perl é através de ficheiros), pelo que provavelmente será suficiente usares o popen.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora