rubyで非同期に実行した外部プログラムのプロセスIDを取得し、強制終了させたい。


たとえば、rubyで

[code]

    system('start "" cmd')
    
[/code]

とすると、非同期で実行できますが、プロセスIDが取得できないので、強制終了できません。

[code]

    i = Process.spawn("cmd")
    
[/code]

とするとプロセスIDは取得できますが、`Process.kill("TERM", i)` で終了できません。

目下のところは、spawn() でidを取得し、`taskkill /im #{pid} /f /t` で強制終了しています。

rubyで`cmd`のプロセスIDを取得でき、かつ、強制終了する方法はありますか？




Windowsの場合 `taskkill` で停止するのが良いようです。  
[How to kill processes on Windows using Ruby |
Simplificator](https://blog.simplificator.com/2016/01/18/how-to-kill-
processes-on-windows-using-ruby/)




Windowsの場合 `taskkill` で停止するのが良いようです。  
[How to kill processes on Windows using Ruby |
Simplificator](https://blog.simplificator.com/2016/01/18/how-to-kill-
processes-on-windows-using-ruby/)

