Zadaniem było wstawić funkcje sleep, tak aby procesy pojawiały się na ekranie grupowane pokoleniami od najstarszego do najmłodszego.
Wstawiłem funkcję sleep ale nie wiem czy dobrze i za bardzo nie wiem po czym to rozpoznać czy są dobrze czy źle. Byłbym wdzięczny gdyby mi to ktoś wytłumaczył. Po czym poznać najstarszy proces a po czym najmłodszy.
void procesy(){
printf(" UID = %i\n GID = %i\n PID = %i\n PPID = %i\n PGRP = %i\n\n", getuid(), getgid(), getpid(),getppid(),getpgrp() ) ;
}
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/wait.h>
#include"procesy.h" /*mini biblioteka*/
void procesy();
int main(){
int i=0;
procesy(); /*proces matka*/
do {
switch( fork() ) {
case -1 : /*obsluga bledow*/
perror("Blad funkcji fork//brak potomka") ;
exit(EXIT_FAILURE) ;
break;
case 0 :
procesy();
sleep(2);
break ;
default :
sleep(2);
break ;
}
i++ ;
}while(i < 3) ;
return 0;
}
Z góry dziękuję za pomoc :)