Vérifier que mon fils est en vie avant de lui donner des ordres
Résolu/Fermé
A voir également:
- Vérifier que mon fils est en vie avant de lui donner des ordres
- Verifier un lien - Guide
- Copains d'avant qui a visité mon profil - Forum Facebook
- Code gta ps2 vie infini ✓ - Forum Jeux vidéo
- Veuillez patienter quelques minutes avant de réessayer instagram ✓ - Forum Instagram
- Un tampon d'encre de l'imprimante est quasiment en fin de vie. veuillez contacter l'assistance epson. - Forum Imprimante
1 réponse
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
27 févr. 2017 à 21:42
27 févr. 2017 à 21:42
bonsoir,
si je comprends bien, tu as sur ton serveur un processus parent et des processus fils.
chaque processus fils est en communication avec un processus exécuté sur une poste client.
que se passe-t-il quand tu arrêtes le processus client? le processus fils s’arrête-t-il sur le serveur, sans que le processus parent le remarque?
en d'autres mots, quel est ton soucis? le fait que le parent ne se rende pas compte que le fils est mort, ou bien que le fils ne se rende pas compte que le client est parti?
si je comprends bien, tu as sur ton serveur un processus parent et des processus fils.
chaque processus fils est en communication avec un processus exécuté sur une poste client.
que se passe-t-il quand tu arrêtes le processus client? le processus fils s’arrête-t-il sur le serveur, sans que le processus parent le remarque?
en d'autres mots, quel est ton soucis? le fait que le parent ne se rende pas compte que le fils est mort, ou bien que le fils ne se rende pas compte que le client est parti?
27 févr. 2017 à 22:59
si un client ce connecte, mon serveur fait un fork pour gérer ce dernier.
client et serveur peuvent alors s’échanger message/cmd l'uns avec l'autre.
le tout ce termine quand l'utilisateur tape "exit" dans le terminal du client, car avec cette commande mon serveur comprend que le client viens d’être shutdown proprement.
sauf que si durant l’exécution du client l'utilisateur décide de stopper l’exécution en mode bourrin avec un ctrl+c mon serveur va ce mettre a attendre indéfiniment car il ne comprendra pas que le client a était shutdown.
j'ai besoin d'un système qui vérifie l’existence de mon processus fils, que ce soit avec son pid, son fd ou autre. j'ai entendue parler de signal mais je sait pas en quoi il peut m'aider .
pour répondre a tes questions : mon problème c'est que mon serveur (processus parent)
ne ce rend pas compte du décès du processus fils si ce dernier a était kill avec un ctrl+c autrement pas de problème.
j'espere etre assez claire. merci de ton aide
27 févr. 2017 à 23:33
il me semble que ce n'est pas le processus fils qui est killé, mais le processus client.
le kill est fait sur le client, et je pense que cela ne cause pas automatiquement la mort du processus fils sur le serveur.
tu aimerais bien que la mort du processus client cause la mort du processus fils, et que le parent s'en rende ensuite compte.
moi, je suspecte que le processus fils survit au processus client. qu'en penses-tu?
28 févr. 2017 à 00:50
je m’était imaginer bêtement que le processus fils crée dans le serveur me servais de support pour le client et donc qu'il n'y avait que 2 processus en marche (le pere et le fils) ...
mais alors comment faire pour que la mort de mon client tue mon fils en même temps ? (sans oublié que il s’agit ici d'une mort subite ctrl+c) , peut ont rattaché deux processus entre eux pour leur faire subir le même sort ?
j'attend tes idée avec impatience. merci.
28 févr. 2017 à 09:14
28 févr. 2017 à 09:57