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

nelson.p

Programação em C por processos

Recommended Posts

nelson.p

Boas!

Pessoal estou com uma dúvida num trabalho...

Aquilo que eu pretendia era criar um processo pai que leia um valor do teclado e coloque na memória partilhada.

Depois ter dois filhos que vão ler o valor introduzido ao pai...

Será que alguém me pode ajudar com o código para criar estes processos???

Ninguém tem por nada parecido?

Share this post


Link to post
Share on other sites
pedrosorio

É para fazer em linguagem C

Porreiro pá... Windows, Linux?


Não respondo a dúvidas por mensagem.

Share this post


Link to post
Share on other sites
TheDark

Mas as APIs a utilizar dependem do sistema operativo. Linux/Unix/MacOS/Windows/...?


Desaparecido.

Share this post


Link to post
Share on other sites
nelson.p

O que é que já tentaste?

Já criei a memória partilhada e os somáforos.... Agora tou com duvidas é na forma como vou criar os 3 processos(pai e 2 filhos). E na forma como vou interligar isto tudo...

Share this post


Link to post
Share on other sites
Triton

Já criei a memória partilhada e os somáforos.... Agora tou com duvidas é na forma como vou criar os 3 processos(pai e 2 filhos). E na forma como vou interligar isto tudo...

Semáforos.


<3 life

Share this post


Link to post
Share on other sites
nelson.p

Semáforos.

eu sei que é por semáforos... A minha dúvida é mesmo em relação ao código...

É nisso que preciso de ajuda!

Share this post


Link to post
Share on other sites
TheDark

Ele estava a corrigir-te. Escreveste "somáforos" uma data de vezes.

Pesquisa no fórum por fork, e vê as várias dicas que já foram dadas. Eu não sei grande coisa de processos em *nix, mas se mostrares trabalho alguém que perceba te ajudará.


Desaparecido.

Share this post


Link to post
Share on other sites
nelson.p

Ele estava a corrigir-te. Escreveste "somáforos" uma data de vezes.

Pesquisa no fórum por fork, e vê as várias dicas que já foram dadas. Eu não sei grande coisa de processos em *nix, mas se mostrares trabalho alguém que perceba te ajudará.

Ah! ok! não tinha dado conta...lol. já tive a ler... mas mesmo assim não tá fácil...nem consigo criar os 2 filhos :P

Share this post


Link to post
Share on other sites
Njay

O que não faltam são exemplos na net de como criar processos com fork(), mesmo em português. Mostra lá o código que já tens e explica qual é o erro que dá ("não consigo criar" é extremamente vago), para te darmos umas dicas.


Blog: Tróniquices ~ Projecto: EmbeddedDreams.com

Share this post


Link to post
Share on other sites
nelson.p

#include <stdio.h>
main ()
{
int pid, status, childPid;
printf ("Eu sou o pai e meu PID e' %d\n", getpid ());
pid = fork ();
if (pid != 0)
{
printf ("Eu sou o pai com PID %d e PPID %d\n",
getpid (), getppid ());
childPid = wait (&status); /* Espera filho terminar. */
printf ("Um filho com PID %d terminou com codigo de saida %d\n",
childPid, status >> 8);
}
else
{
printf ("Eu sou o filho com PID %d e PPID %d\n",
getpid (), getppid ());
exit (13);
}
printf ("PID %d termina\n", getpid () );

Tenho este código... Se quiser ter 2 filhos e 1 pai que alterações terei de fazer?

Alguém me pode ajudar sff?

Share this post


Link to post
Share on other sites
nelson.p

#include <stdio.h>
main ()
{
int pid, status, childPid;
printf ("Eu sou o pai e meu PID e' %d\n", getpid ());
pid = fork ();
if (pid != 0)
{
printf ("Eu sou o pai com PID %d e PPID %d\n",
getpid (), getppid ());
childPid = wait (&status); /* Espera filho terminar. */
printf ("Um filho com PID %d terminou com codigo de saida %d\n",
childPid, status >> 8);
}
else
{
printf ("Eu sou o filho com PID %d e PPID %d\n",
getpid (), getppid ());
exit (13);
}
printf ("PID %d termina\n", getpid () );

Tenho este código... Se quiser ter 2 filhos e 1 pai que alterações terei de fazer?

Alguém me pode ajudar sff?

Ok! Só mais uma cena... Neste programa quero introduzir memória partilhada e semaforos... Fiz a criação dos semaforos e da memoria partilhada num ficheiro à parte... Como faço para os filhos irem buscar a informação que o pai colocou na memória partilhada?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.