表題の通り。Cygwinのターミナルを終了しても、Cygwinのプロセスが終了しきれずに残ることがある。
強制終了させるWSHスクリプトを作ってあったことを思い出した。
kill_cygwin.js
function TerminateProcess( program_name ){ var strComputer = "."; var name = "winmgmts:\\\\" + strComputer + "\\root\\CIMV2"; var oWmis = GetObject(name); var cols = oWmis.ExecQuery("SELECT * FROM Win32_Process WHERE Caption = '"+ program_name +"'") var list = new Enumerator(cols) for(;!list.atEnd(); list.moveNext()){ var proc = list.item(); proc.terminate() } } //引数に与えたモノを全部Terminateしていく。 //Cygwin関係で、ゴミプロセスになりがちなモノ TerminateProcess("bash.exe" ); TerminateProcess("sh.exe" ); TerminateProcess("ssh.exe" ); TerminateProcess("vim.exe" ); TerminateProcess("vim-nox.exe" ); TerminateProcess("conhost.exe" ); TerminateProcess("conftest.exe" ); TerminateProcess("screen.exe" ); TerminateProcess("screen-4.1.0.exe" ); TerminateProcess("mintty.exe" );
これをダブルクリックすれば、たいていのものは死んでくれる。