Actuellement, je suis en train de faire en une seule commande rapideTuer le processus et sous-processus dans Ruby sous Windows
require 'win32/process'
p = Process.spawn("C:/ruby193/bin/bundle exec rails s")
puts p
Process.waitpid(p)
puis dans un autre
require 'win32/process'
Process.kill(1,<p>)
Le problème est que le processus que je Spawn (le serveur Rails dans ce cas) génère une chaîne de sous-processus. La commande kill ne les tue pas, elle les laisse orphelins sans aucun parent.
Des idées comment puis-je tuer l'ensemble du processus engendré et tous ses enfants?
Je me demande si la boucle pour obtenir procs est fiable. Sur Linux, les processus peuvent être en panne, donc quelques itérations peuvent être nécessaires pour tout attraper. – akostadinov