//
Lancement de processus
// nProc.cpp
//
// Lancements de processus dans une boucle, chaque fils exécutant la
// même boucle.
// le père p0,
// lance 3 fils (i=1,2,3) p01,p02,p03
// p01, le premier fils lance 2 fils (i=2,3) p012,p013
// p02 lance 1 fils (i=3) p023
// p012 lance 1 fils (i=3) p0123
// 8 processus sont créés (p0 est compté)
#include
#include
using namespace std;
//
int main(int ntm, char * tm[]) {
pid_t idp;
int n=3, i;
cout<<"Lancement par proc: "< toto ce qui sépare la sortie erreur (à
// l'écran) qui affiche les messages de fin de processus (on compte
// ainsi facilement le nombre de processus) et la sortie standard qui
// affiche deux lignes pour chaque création de processus dépendant
// du processus initial. On trouve 14 lignes, donc 7 processus sont
// créés après le processus initial.
// On peut remarquer que le père meut avant tous ces descendants, donc
// on voit des "pères" de numéro 1.
//
//
// sortie erreur: | sortie standard
// --------------------------------------------------------------
// (fin 2480) | Lancement par proc: 2480
// (fin 2492) | pid:2480 père:2828
// (fin 2000) | pid:2656 père:2480
// (fin 2656) | pid:2480 père:2828
// (fin 2684) | pid:2000 père:2480
// (fin 3248) | pid:2656 père:2480
// (fin 580) | pid:3248 père:2656
// (fin 3336) | pid:2480 père:2828
// | pid:2492 père:2480
// | pid:2000 père:1
// | pid:2656 père:1
// | pid:2684 père:2000
// | pid:3248 père:2656
// | pid: 580 père:2656
// | pid:3336 père:3248
//fin nProc.cpp