#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<iostream>
#include<sys/types.h>
#include<sys/wait.h>
using namespace std;

int my_var;
int main(void) {
     pid_t pid1;
     pid_t pid2;
     int status;
     pid1=fork();
     pid2=fork();
     if (pid1==0) {
        cout<<"child1="<<pid1<<"My var="<<my_var<<endl;
        for(int i=0;i<10;i++) {
           my_var+=1;
           cout<<"child1 my_var="<<my_var<<endl;
        }
        exit(120);
     }
     //child2 process
     if (pid2==0) {
        cout<<"child 2="<<pid2<<"my var="<< my_var<<endl;
        for(int i=0;i<10;i++) {
           my_var+=1;
           cout<< "child 2 my_var="<<my_var<<endl;
        }

     }else{//parent process
           my_var=10;
           cout<<"parent="<< getpid()<<"child 1="<<pid1<<"Child 2="<<pid2<<"my var="<< my_var<< endl;
         for(int i=0;i<10;i++){
            my_var-=1;
         
            cout<<"parent my_var="<< my_var<<endl;
         }
         pid_t test1=wait(&status);
         cout<< "child1 ID="<<test1<<"status"<<WEXITSTATUS(status)<<endl;
     }//paratiro oti to status tou child1 einai 0 (eno prin htan 120), ara 
     //exei xreiastei parapano xrono gia na ektelestei parola auta termatistike epitixos
return 0;
}
