J'ai une application Java qui utilise ProcessBuilder
pour préparer une commande de système d'exploitation et me donne un objet Process
. (La commande os actuelle est rsync sur ssh en utilisant cygwin). Cela fonctionne bien dans Windows, mais si je veux arrêter le processus en utilisant process.destroy()
il ne va pas tuer les processus ssh et rsync enfant ..... Je dois les tuer manuellement en utilisant le gestionnaire de tâches Windows ..Java ProcessBuilder process.destroy() ne détruit pas les processus enfants dans winXP
Est-il possible d'obtenir le OutputStream
du processus et envoyer un ctrl-c en quelque sorte avant d'appeler destroy();
?
Si quelqu'un a des idées sur une solution de contournement ce serait génial. Merci, D
La fonction Ctrl-C est une fonction de terminal qui envoie un signal (SIGTERM?) À l'identificateur de processus. Donc, pour émuler que vous auriez besoin de l'id de processus et pour pouvoir envoyer un signal –