Cloner un processus avec l'instruction fork(); [code en c] [gcc]

Contenu du snippet

Dans cet exemple je vais vus montre comment cloner un processus,
dejas un processus est une tache qu'execute le systeme d'eploitation, par exemple quand vous lancer une application quelquoncques,
le systeme lui attribut un identifiant, par exemple 2300 cela correspond au PID (Processus IDentification)
Le faite de cloner ce processus est que l'application va relancer une seconde fois exactement la meme application,.
Petite note: le code suivant a ete ecrit pour les systemes d'exploitation type unix.

Source / Exemple :


#include <unistd.h>  //Pour l'instruction fork();
#include <stdio.h>  
#include <signal.h>  //pour l'instruction kill et le signal SIGKILL

int main()
{
  int i;
  int pid;
  char c;
  
  if (pid=fork()) //Si le pid du pere est egal au pid du fils
  {
    printf("voulez-vous tuer le fils?"); //On demande si on veut tuer le fils
    scanf("%c",&c);
    if (c=='o') //Si o est taper
    {
      kill(pid,SIGKILL); //Alors on le tu via l'instruction kill();
    }
  }
  else 
  {
    while(1) //Si non tant que c'est pas le cas on fait une boule infinie qui affiche la valeur de i 
    {
      printf("%d",i++);
    }
  }
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.