CyberLACS Postado Março 16, 2012 Denunciar Share Postado Março 16, 2012 (editado) Amigos,boa noite estou em duvidas referente ao codigo abaixoa parte que estou em duvida é referente ao fork o que ele faz ao ser executadoObservação estou a um tempo tentando descobrir e somente agora resolvi postarfico no aguardo obrigado#include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> #inc :huh: lude <stdlib.h> #define MAXPROCESS 10 int main(void) { int pids[MAXPROCESS], pid, qtde, live, i; char state[MAXPROCESS], action; do { printf("Qtos processos deseja criar [0 para sair]: "); scanf("%d",&qtde); action=getchar(); if (qtde==0) exit(1); } while(qtde>MAXPROCESS); for(i=0;i<qtde;i++) { pids[i]=fork(); if(pids[i]==0) while(1); state[i]='R'; } live=qtde; while(live>0) { for(i=0;i<qtde;i++) { if(state[i]!='K') printf("%d - %c\n",pids[i],state[i]); } printf("Selecione o processo (0 para sair): "); scanf("%d",&pid); action=getchar(); if(pid==0) exit(1); i=0; while((pids[i]!=pid) && (i<qtde)) i++; if (pids[i]!=pid) printf("Processo não encontrado\n"); J else { if (state[i]=='S') printf("Selecione a acao [K]ill [R]un [C]ancel: "); else printf("Selecione a acao [K]ill [S]top [C]ancel: "); action=getchar(); if (action>96) action-=32; switch(action) { case 'K': kill(pid,SIGKILL); live--; state[i]='K'; break; case 'R': kill(pid,SIGCONT); state[i]='R'; break; case 'S': kill(pid,SIGSTOP); state[i]='S'; break; Editado Março 17, 2012 por Durub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Março 17, 2012 Denunciar Share Postado Março 17, 2012 CyberLACS, qual sua dúvida especificamente? Como o código funciona, ou o que ele faz, ou o que? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
CyberLACS
Amigos,boa noite estou em duvidas referente ao codigo abaixo
a parte que estou em duvida é referente ao fork o que ele faz ao ser executado
Observação estou a um tempo tentando descobrir e somente agora resolvi postar
fico no aguardo obrigado
Editado por DurubLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.