/* Pavle Michko, 2008
 * defaut de page mineur
 */
#define _GNU_SOURCE
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
#define TAILLE   32000
char tab[TAILLE][4096];
int main( void )
{ int i,j;
  char cmd1[256], cmd2[256];
  int cpt = 60;
  pid_t pid1, pid2;
  pid1 = fork();
  if ( pid1 == 0 ) {
    for( i = 0; i < TAILLE; i++) 
      for( j = 0; j < 4096; j++)
	tab[j][i] = i+j;
    exit(0);
  }  
  pid2 = fork();
  if ( pid2 == 0 ) { 
    for( j = 0; j < 4096; j++)
    for( i = 0; i < TAILLE; i++) 
	tab[i][j] = i+j;
    exit(0);
  } 
  sprintf(cmd1, "ps --pid %d -o vsize,rss,min_flt >> page1.txt", pid1);
  sprintf(cmd2, "ps --pid %d -o vsize,rss,min_flt >> page2.txt", pid2);
  while ( cpt-- ){
    fprintf(stderr,"\r%3d", cpt);
    system( cmd1 );  
    system( cmd2 );  
    fflush(stdout);
    sleep(1);
    }

  exit(0);
}
