![]() |
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.
|
|
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 |
| inferno & matemática | ogoy | Programação Shell Script e | 5 | 05-26-2008 10:58 |
| inferno e sqlite | ogoy | Programação Shell Script e | 2 | 05-21-2008 12:07 |
| rpm inferno! | knmwt15000 | UNIX para Dummies Perguntas & Respostas | 7 | 03-27-2002 06:06 |
| negativas UID / GID?! Posso vê-los, mas que diabo é que eles significam? | hellz | UNIX para Dummies Perguntas & Respostas | 2 | 09-07-2001 03:18 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Olá eu estou tendo sérios problemas com o garfo comando, basicamente eu quero criar 9 ou 10 crianças e armazenar os seus processos pid números em série, enquanto as crianças até ficar residente i matar ()-los mais tarde, parece que eu não posso controlar a forma como muitos são feitas como todas elas parecem para criar os seus próprios filhos.
Eu tenho conseguido parar de bater o meu sistema, alguém pode ajudar, por favor, nenhum dos meus livros são qualquer utilização. |
|
||||
|
Este é um problema muito comum observado com garfo.
Você pode ter alguns bandeira variável que irá impedir a criança de novo processo para a mesa quando o pai garfos. Um código pode ser muito primitivo somthing como este: -- # include <stdio.h> # include <unistd.h> # include <errno. h> void main () ( int child1, child2, val, if_child; char err [1000]; if_child \u003d 1; memset (err, '\ 0', strlen (err)); printf ( "\ nParent processo ID é% d \ n", getpid ()); child1 \u003d fork (); if (child1 \u003d\u003d -1) ( strcpy (err, strerror (errno)); ) diferente ( if (child1> 0) / * Se garfo comando for bem-sucedido filho PID será maior do que zero. * / ( printf ( "\ nO child1 processo ID é% d \ n", child1); if_child \u003d 0; / * Defina aqui o pavilhão para evitar processo de criança forking * / ) ) memset (err, '\ 0', strlen (err)); if (if_child \u003d\u003d 0) ( child2 \u003d fork (); if (child2 \u003d\u003d -1) ( strcpy (err, strerror (errno)); ) printf ( "\ nO child2 processo ID é% d \ n", child2); matar (child2); ) matar (child1); exit (0); ) |
|
||||
|
Eu tive o mesmo problema com um dos meus projetos (você pode vê-lo se a discussão chamado "processo de tomada uma árvore") e cada vez mais processos criança do que eu esperava era realmente um problema desagradável.
Ainda não descobri como é que funciona exactamente mas espero Aniruddha do conselho irá me ajudar também. |
|
||||
|
Graças annibuddha (que era como você escreve?) Vendo bb666 do post eu pensei que eu ia postar isso ...
Eu tive um pouco de problemas como acrescentei mais filhos, mas decidiu a loja-mãe no início id: pid \u003d getpid () que mais tarde eu apenas verificado a variável que eu entendo seria em todas as crianças contra a contra getpid () ou seja, tornar a criança um processo de parar e esperar para sempre depois que foi criada: if (pid! getpid \u003d ()) // este não é o pai for (;) em seguida, os processos só sentar lá até que eles sejam mortos (espero) Última edição por theultimatechuf; em 01/24/2002 06:13.. |
|
||||
|
Yep. Essa é uma maneira de fazê-lo, ou você poderia simplesmente enviar um sinal fechado assim que a criança não vai desperdiçar o seu processos de memória para nada. Basta substituir por (;)
com mato (getpid (), SIGSTOP). That's all fina e elegante, mas o que se pretende que o processo para a criança realmente fazer alguma coisa? Porque se você parar com isso ou enviá-lo em um loop infinito, então você não pode trabalhar bastante dentro da criança pode? Essa é realmente a parte que estou interessado em: trabalhar no interior da criança, mas impedi-lo de uma vez a mãe forking forquetas novamente. |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|