2011-11-17 2 views
0

Windows 7 및 Server 2008의 GlassFish 3.1 서비스에서 실행되는 웹 응용 프로그램이 있습니다.이 응용 프로그램이 동일한 컴퓨터에서 여러 가지 다른 서비스를 제어 할 수 있기를 바랍니다. 특히 Tomcat 서비스를 시작하고 중지 할 수 있기를 원합니다.프로그래밍 방식으로 웹 응용 프로그램에서 Windows 서비스 중지

기본적으로 응용 프로그램은 컴퓨터에 배포하는 다른 응용 프로그램의 컨트롤러 역할을하므로 제어되는 응용 프로그램에 필요한 보안을 설정할 수 있습니다.

.Net은 ServiceController 클래스를 가지고 있으므로 프로그래밍 방식의 제어가 가능하다고 가정하고 있지만 가능한 경우 순수 Java 솔루션을 선호합니다.

내가 수행 한 모든 검색은 Java를 서비스로 실행하고 Java에서 서비스를 제어하는 ​​데 많은 정보를 제공하지 않습니다. 내가 할 수있는 일이 가능한거야? 어떤 보안 계통을 뛰어 넘을 필요가 있습니까?

답변

1

Runtime.exec ("net stop tomcat6")을 수행 할 수 있습니다. 물론 tomcat6은 다른 서비스 이름으로 대체 될 수 있습니다. 이 튜토리얼을 확인하십시오 http://www.java-samples.com/showtutorial.php?tutorialid=8

+0

저는 Runtime.exec에 대해 알고 있지만 보안 문제로 인해이 상황에서 작동하지 않는다고 말했어야합니다. 내가 아는 한 서비스는 기본적으로 서로 시작하고 중지 할 수 없습니다. 내 생각에 [이 게시] (http://serverfault.com/questions/187302/how-do-i-grant-start-stop-restart-permissions-on-a-service-to-an-arbitrary-user) on ServerFault는 질문에 대답하는 데 먼 길을 간다. – wobblycogs

관련 문제