Qu'est-ce que l'appel du système de fourche en C ++

Qu'est-ce que l'appel du système de fourche en C ++
Le fourchette() est un appel système pour créer les processus de création d'enfants à l'aide du processus parent. Quand fourchette() est utilisé, un nouveau processus enfant est formé qui est indépendant du processus parent et possède son propre stockage et allocation de ressources.

En C ++, le fourchette() L'appel système double le processus parent pour produire un nouveau processus enfant. Il est utilisé pour produire un nœud enfant qui est une réplique parfaite du nœud parent, avec tous ses attributs, des descripteurs de système de fichiers et des emplacements de stockage. Il est utile dans les scénarios lorsqu'un utilisateur souhaite créer une instance d'un programme déjà en cours d'exécution sur le système ou qu'il veut démarrer un nouveau programme.

Déclaration de fork () en c++

Le "fourchette ()" La fonction, qui provient des systèmes d'exploitation UNIX / Linux, ne fait pas partie de la bibliothèque C ++ standard, il est donc accessible via le «Unistd.h ” En tête de fichier.

#inclure
pid_t fork ();

Valeurs de retour dans la fourche ()

Le fourchette() La fonction renvoie deux valeurs 0 et -1.

  • Il pourrait fournir la valeur de retour du processus de l'enfant comme 0 tout en donnant au processus parent, une fois terminé, l'identification du processus du processus de l'enfant.
  • Il Renvoie une valeur -1 Lorsque le processus de l'enfant n'est pas créé, et il générera automatiquement une erreur.

Signification de la fourche () en c++

  • En utilisant fourchette (), Les développeurs effectuent un traitement parallèle en même temps en créant plusieurs processus.
  • Permet au processus de créer un clone d'elle-même appelé un processus enfant.
  • Il nous permet de créer des programmes complexes avec une sécurité et une meilleure tolérance aux défauts.
  • Les processus parents et enfants s'exécutent simultanément.
  • Utilisé pour les applications multitâches.
  • Aide deux processus indépendants différents à communiquer entre eux.

Un exemple simple de fourche () en c++

Voici un exemple de la façon d'utiliser les C ++ fourchette () fonction avec succès:

#inclure
#inclure
Utilisation de Namespace Std;
int main()

pid_t child_id = fork ();
if (child_id == -1)
Perror ("Fork");
exit (exit_failure);

else if (child_id> 0)
couter << "Message from Parent process My child has process ID: " << child_id << endl;

autre
couter << "Message from Child Process: " << child_id ;

retour 0;

Dans l'exemple ci-dessus, le fourchette() La méthode répond dans les deux processus avec des arguments non nuls ou nuls. Comme le montre la sortie ci-dessous, l'ID de processus d'un processus d'enfant est le processus parent, et le processus d'enfant lui-même renvoie 0. Le parent revient -1 si cela ne fonctionne pas.

Sortir

Conclusion

Dans l'ensemble, le fourchette() La fonction du système est une fonctionnalité forte qui permet aux programmeurs C ++ de générer et de contrôler de nombreux processus. L'appel du système fourchette() augmente les performances des programmes complexes et permet de faire des multiples processus. Il prend zéro paramètres et renvoie les valeurs entières avec les processus correspondants.