Как остановить HTTP-сервер Apache 2 из программы Java? - PullRequest
0 голосов
/ 16 мая 2011

Я запускаю сервер Apache HTTP в моей программе Java. К сожалению, я не могу остановить сервер от программы через команду «httpd.exe -k stop». Сообщение об ошибке «(OS 5) Доступ запрещен.: Не удалось открыть службу Apache2.2». Моя ОС - Windows 7. Как я могу остановить сервер от моей программы Java? (Остановить сервер вручную нельзя.)

ОБНОВЛЕНИЕ: я не могу изменить разрешения Windows.

Ответы [ 4 ]

2 голосов
/ 17 мая 2011

Грязный - но простой Java - решение заключается в том, чтобы позвонить:

Runtime.getRuntime().exec("taskkill /F /IM httpd.exe");
1 голос
/ 16 мая 2011

Возможно, можно написать скрипт CGI, развернуть его в Apache и вызвать его из Java.

Теоретически скрипт будет работать с теми же привилегиями, что и сам Apache, и может содержать код, необходимый для остановки сервера (apachectl -k stop).

В целях безопасности сценарий CGI будет принимать только локальные подключения и запрашивать пароль. Если все требования будут выполнены, вызов будет выполнен выше.

0 голосов
/ 24 января 2013

1).Перейти к началу 2).В поле поиска введите «услуги» 3).Нажмите на «сервисы», и вы увидите, что ваш apache установлен из списка.4).выберите apache, и вы найдете варианты запуска / перезапуска / остановки в левой части экрана, или вы найдете варианты запуска / перезапуска / остановки, щелкнув правой кнопкой мыши на apache.5).После этого это говорит само за себя.Примечание 1: - Если изменения, такие как запуск / перезапуск / остановка, не выполняются немедленно, возможно, вам придется перезапустить окна.Примечание 2: - Это альтернативное решение вашей проблемы.Рекомендуется перезапускать через само приложение Apache.Тем не менее, вышеупомянутый метод в основном работает по крайней мере на данный момент.

0 голосов
/ 16 мая 2011

Похоже, вам нужно запускать программу от имени администратора.Взгляните на этот вопрос: Java: запуск от имени администратора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...