lukasz.proszek.info

Powrót do listy plików

cw3b.c

#include "cw3.h"

int
main ()
{

  int i, pid_nr;
  pid_nr = getpid ();
  signal(SIGALRM,SIG_IGN);
  for (i = 0; i < 3; i++) /* trzykrotne wywolanie w procesach potomnych programu */
    switch (fork ())
    {
    case -1:
      perror ("fork error");
      exit (1);

    case 0:
      execl ("./cw3.run", "cw3.run", "ALRM", "obs", NULL);
      perror ("execl error");
      exit (2);
    default:
      ;

    }
  sleep (1);
  kill (-pid_nr, SIGALRM);
  /*
   * If pid is less than -1, then sig is sent to every process in  the  
   * pro cess group -pid
   * 
   * Czyli wysłanie sygnału do grupy.
   */
  sleep(3);
  kill (-pid_nr, 9); //ubicie całej grupy, jako że w cw3 jest pętla nieskończona.
  return 0;
}

składania pokolorowana przez Code2HTML, v. 0.9.1