HI
J'écris une partie d'un serveur qui devrait envoyer d'autres processus fils.
Parce que je veux attendre sur certains processus, et distribuer d'autres sans attendre l'achèvement, j'utilise double fork pour le second type de processus (évitant ainsi les processus zombies).
Le problème est, mon serveur contient beaucoup de mémoire, donc le forking prend beaucoup de temps (même la copie-sur-écriture utilisée dans Linux qui ne copie que les tables de pagination)
Je veux remplacer la fourche() par vfork(), et c'est facile pour la deuxième branche (car elle n'appelle que execve() dans l'enfant), mais je n'ai trouvé aucun moyen de remplacer la première.
Est-ce que quelqu'un sait comment je peux faire ça?
Merci!double fourche en utilisant vfork
Le serveur est un linux (RH5U4) écrit en C++.
Merci, SoapBox. Mais je cherche une solution de contournement qui me permettra de doubler la fourchette sans le coût supplémentaire de fork() –
C'est '_exit' pas' exit'. Vous ne pouvez définitivement pas appeler 'exit' après' vfork'. –