Re: zombie
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 01/15/2007 11:30 PM, Marcos Lazarini wrote:
> 2007/1/15, Felipe Augusto van de Wiel (faw) <felipe@cathedrallabs.org>:
>> On 01/14/2007 06:32 PM, sluiz wrote:
>> > Estou precisando criar um processo zombei, ou seja, preciso matar o
>> > processo pai e manter o filho funcionando.
>>
>> Hmmm, isso não é um processo zombie.
>>
>>
>> > Toda vez que utilizo kill -9 $PPID mato o processo atual também.
>> > Já tentei executar o script filho com & no final, já
>> > tentei nohup, mas não adianta esse filho tá muito ligado ao pai.
>> > Aguém tem ulguma idéi para separar esse dois?
>>
>> Não é beeeeem assim que funciona. A idéia de pai e filho
>> está ligada à cadeia de execução, um dos exemplos tradicionais é
>> a execução da chamada fork() em um programa C.
>>
>> Você pode chegar próximo disso via sheel (fazer pai e
>> filho), mas pra criar um processo zombie a história é outra.
>
> Vcs não criam um processo zombie, um processo fica zombie - quase
> todos do seu micro são candidatos a ficar zombie... ainda bem que a
> grande maioria não fica muito tempo :-)
Tem certeza? Você já viu o funcionamento de alguns rootkits? :)
>> Processos zombie são so que não morrem, mas também não estão
>> mais em estado de interação ou seja, eles estão apenas na pilha
>> de processos consumindo recursos (ou, criando oportunidade para
>> algum tipo de ataque ou DoS).
>
> Aqui eu discordo. O processo zombie já morreu.
Tem _certeza_? :-)
Alguns rootkits modificam de tal forma a estrutura de
execução que os processos zombies na verdade estão fazendo porcaria
no sistema.
> Eu já expliquei isso outras vezes aqui, mas em resumo:
> Qdo vc faz um fork, o pai-filho mantém um grau de parentesco. É
> possível que o filho mande 'sinais' para o pai (não lembro se
> vice-versa é verdade). O pai precisa implementar a rotina de
> tratamento de sinais, pq mesmo se o filho não manda nada, quando ele
> morre ele SEMPRE sinaliza para o pai. Entre a 'hora da morte' do filho
> e a recepção e tratamento do sinal pelo pai, o processo fica zombie.
>
> Façam o teste:
> abra um shell, que vai servir p/ monitorar os processos com um 'ps f'
> abra um outro shell, e dentro dele rode alguma coisa (pode ser até
> outro shell) - esse vai ser o filho. Agora, volte no outro terminal e
> rode 'kill -SIGSTOP <pid_do_pai>'; volte ao 2o. shell e encerre o
> processo filho. Pronto! Vc está com um processo zombie até dar o 'kill
> -SIGCONT <pid_do_pai>'
>
> Depois que o processo virou zombie, ele já morreu - só resta o corpo
> ainda... :-)
Num mundo perfeito sim.
Quando começamos a falar de modificações na pilha de
execução e de códigos C bizarros pra área de segurança, isso
não beeeeem assim.
Abraço,
- --
Felipe Augusto van de Wiel (faw)
"Debian. Freedom to code. Code to freedom!"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org
iD8DBQFFrD+BCjAO0JDlykYRAp6NAJoDIatdAXtqe80RmKNBeoO6WrcyaQCfSYs4
q41+ESMdjtmODCkurngBYJY=
=Kb/j
-----END PGP SIGNATURE-----
Reply to:
- Follow-Ups:
- Re: zombie
- From: "Marcos Lazarini" <mvlaza@gmail.com>
- References:
- zombie
- From: sluiz <sluiz@webcpd.com.br>
- Re: zombie
- From: "Felipe Augusto van de Wiel (faw)" <felipe@cathedrallabs.org>
- Re: zombie
- From: "Marcos Lazarini" <mvlaza@gmail.com>