quinta-feira, 13 de junho de 2019

EXEMPLO 2


EXEMPLO 2

O exemplo 2 trava o sistema lotando a memória do micro, alocando o máximo de memória permitido.



/* progacao2.c */

#include <stdlib.h>
#include <stdio.h>
acao ()
{
   char *f;
   while (1)
   {
      f = malloc (10000); /* aloca uma memória de 10000 bytes a cada loop e deixa perdida, não irá se importar em recuperar o endereço alocado */
      usleep (10); /* espera um tempo de 10/1000.000.000 s para o sistema não ficar lento de forma que se perceba uma execução fora do normal */
   }

}

main () /* o main já foi explicado no exemplo 1 */
{
   int i;
   i=fork();
   if (i==0)
      acao();

}


Para compilar:

$ gcc progacao2.c -o progacao2


E para executar:

$ ./progacao2


Para ver o uso de memória aumentando use ps -axv.

Mate o processo com ps -ax (busque o número do processo progacao1) e kill -9 [núm. processo].

Sem comentários:

Enviar um comentário