1

Java から Apache を再起動したい。次のコードを使用して再起動しようとしました。

Runtime.getRuntime().exec("cmd.exe /c \"C:\\Program Files\\Apache\\Apache22\\bin\\httpd.exe\" -k restart -n \"localServer\"");

これは、Java プログラム内からは機能しないようです (コマンド ラインに入力すると機能します)。最終的には管理者の問題が発生することはわかっていますが、今のところ、サーバーを再起動させたいだけです。誰でも私に何か指針を与えることができますか?

私はこれを理解し、Windows 7とUAC管理者で機能させることができました。

Process stop = Runtime.getRuntime().exec("\"C:\\Program Files\\Apache\\Apache22\\bin\\elevate.exe\" -c \"C:\\Program Files\\Apache\\Apache22\\bin\\httpd.exe\" -k stop -n \"localServer\"");

その後、再起動するまでに 1 秒かかります。最初の呼び出しは、昇格した特権でダウンロードした .exe を昇格させることで、実際にコマンドを実行でき、2 番目の呼び出しで停止しました。

4

0 に答える 0