1

以下のコードを使用してrorサーバーを起動しています。pidを見つけて「taskkill」を使用するルートを経由せずにそのウィンドウを終了する簡単な方法はありますか?結局のところ、'shell'変数にハンドルがありますね。

shell = WIN32OLE.new('Shell.Application')
shell.ShellExecute("run_app_server.bat")

上記のコードを使用すると、rorサーバーを実行しているウィンドウが表示されます。ここで、コード内からも終了したいと思います。

ありがとう

4

1 に答える 1

1

さて、あなたはole Automation Shellオブジェクトへの参照を持っていますが、 ShellExecuteを使用して独自のウィンドウでプロセスを開始すると、そのプロセスはWindowsに属し、シェル自動化オブジェクトを介して公開されるとは思われません。オブジェクト参照を使用してそれを終了する方法はありません。

ただし、シェルからTaskkillを使用するのではなく、現在行っているように自動化によって検索と強制終了を行うこともできます。おそらく、それを実行するこのPerlスクリプトを適応または「変換」します

于 2012-01-25T12:53:30.657 に答える