質問: 自分以外のperl.exeを強制終了させる方法について 現在、windows 2000とxpで、perlを、test.batをダブルクリックする形で使っています。 他にも、並列で、いくつか、同様の方法でperlを実行させていますが、test.cgiが終了した時、test.cgi以外のperlプログラムを全て強制終了させたいのですが、何か、良い方法はないでしょうか? ----test.bat--- perl test.cgi ---- ----test.cgi--- sleep 10; exec("taskkill /f /im perl.exe"); print 'test.cgi以外のperl.exeを強制終了しました'; ---- 上記方法を試してみたのですが、自身のperl強制終了されてしまいます。 実際は、printの部分には様々な動作を行うため、自身のpidを見つけ出して、それ以外を強制終了するような方法が最適です。 宜しくお願い致します。
回答: tasklistというコマンドからすべてのpidを取得して、 必要なpidだけを抜き出してはいかがでしょうか。 その後、taskkillでプロセスを終了させる方法でできると思います。 それぞれのコマンドの使用方法は、コマンドプロンプトで tasklist /? taskkill /?