lukasz.proszek.info

Powrót do listy plików

cw1.c

/*
Program ilustrujacy dzialanie funkcji fork()
Lukasz Proszek, Fizyka Komputerowa II rok,

GNU GPLv2
*/
#include "cw1.h"

int pokaz_pidy()
{
  printf("UID= %d\t GID=%d\t PID= %d\t PPID= %d\t PGID(pgrp)= %d\n",
      getuid(),     getgid(),    getpid(),   getppid(),    getpgrp());
  return 0;
}

int main()
{
  int i;
  
  printf("macierzysty \t");
  pokaz_pidy();
  sleep(2);

  for(i=0;i<3;i++)
  {
    switch (fork())
    {
      case -1: //co przy bledzie
        perror("blad przy wywolaniu funkcji fork");
        exit(1);
      case 0: //co przy potomnym.
        sleep(2);
        /*for(j=0;j<i;j++) printf("\t");*/ printf("potomny%i \t",i+1 );
        pokaz_pidy();
      default: //co ma robic macierzysty
        ;
    }
    
  }
  sleep(8);
  return 0;
}

składania pokolorowana przez Code2HTML, v. 0.9.1