サーバーを起動するサードパーティの.batファイル(wso2server.bat)があります。Javaからバッチファイルから開始されたキルプロセス
私は)私がprocess.isAlive(この
process.destroy();
and
process.destroyForcibly();
を止めようとした
Process process = Runtime.getRuntime.exec(cmd /C start cmd /C C:\wso\wso2esb-4.9.0\bin\wso2server.bat);
ことによってそれを始めて破壊した後に "偽" を返します。しかし、まだ実行中のサーバー!
私も
ProcessBuilder pb = new ProcessBuilder(params);
process = pb.start();
で実行し、それを止めようとしたが、私はそれを起動するか、java.exeが問題ではない - とサーバ - まだ実行されていると私はそれを止めることはできません。 これは.batが別のプロセスを開始するためだと思います...
どうすればこのjava.exeを停止できますか?
'Runtime.getRuntime()。exec(" cmd/c start C:\ wso \ wso2esb-4.9.0 \ bin \ wso2server.bat ");'またはおそらく 'Runtime.getRuntime()。exec(" cmd/c C:\ wso \ wso2esb-4.9.0 \ bin \ wso2server.bat ");'? – Compo
cmd/c start:サーバーは起動しますが、停止できません(上記と同じです)。 ただし、cmd/cの場合、サーバーは起動しません。 java.exeはタスクマネージャに表示されますが、Httpサイトは使用できません。 – user2287094
startこの場合、サーバへの命令ではなく、バッチファイルへの命令です。なぜ 'cmd/c file.bat'がサーバを起動しないのか分かりません。あなたのバットファイルの内容は何ですか? – Compo