• # malpropre !

    Posté par . En réponse au message Killer un processus sans fermer la socket ?. Évalué à 3.

    Le noyau va s'occuper de nettoyer tout ce qui était attaché aux process que tu tues; Pour forcer le noyau à ne pas être propre, du plus simple au plus compliqué (je ne sais pas quelle méthode marchera dans ton cas):

    - envoyer un signal "STOP" au lieu de "KILL" à tes process, pour arreter le flux "applicatif"; la connection TCP restera gérée au niveau noyau cependant, bien que silencieuse.
    - Debrancher la prise réseau à la main pour simuler le crash de ton client vis-à-vis du serveur distant
    - ou alors descendre l'interface réseau pour interdire au noyau d'émettre, ça devrait revenir au même.
    - Si tu travailles via réseau, ça peut être embettant :) donc il te faudra créer une deuxieme interface réseau virtuelle du style eth0:0 (dans un network/routage qui soit bien distinct, pour qu'elle ne puisse pas servir de route de secour aux connections de ton appli de test)
    - Si tu n'as besoin que de faire des "connect" TCP qui ne soient pas suivis d'une déconnexion, et qu'il n'y a pas de données à réellement envoyer, tu peux tenter d'apprendre à forger des paquets TCP au niveau utilisateur au lieu de laisser faire le kernel. Mais ça c'est si tu es desespéré.