Codice: Seleziona tutto
#include <iostream>
#include <cstdlib>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
using namespace std;
int main()
{
pid_t pid;
int i=0,st;
for(i=0;i<2;i++)
{
try
{
pid=fork();
}
catch(pid_t err)
{
if(err==-1)
cout<<"Fork fallita!"<<endl;
exit(-1);
}
if(pid > 0)
{
cout<<"Sono il processo padre con pid "<<getpid()<<endl;
cout<<"Pid di mio padre "<<getppid()<<endl;
wait(&st);
cout<<"Mio figlio ha terminato l'esecuzione con stato "<<st<<endl;
}
else
{
cout<<"Sono il processo figlio con pid "<<getpid()<<endl;
cout<<"Pid di mio padre "<<getppid()<<endl;
exit(0);
}
}
return 0;
}
Codice: Seleziona tutto
exit(0) 