문제

서비스가 시작되고 실행 중인지 확인하기 위해 Windows 서비스의 상태를 찾아 볼 수있는 라이브러리를 찾고 있습니다. 나는 Sigar 라이브러리를 살펴 보았지만 GPL이므로 사용할 수 없습니다. 상업용 소프트웨어로 번들로 제공되므로 상업용 또는 BSD (ISH) 라이센스가 필요합니다.

도움이 되었습니까?

해결책

다른 도움이되지 않으면 약간 다른 접근법을 생각해보십시오 (물론 가능하다면) : 예를 들어 :

  • Windows 서비스 모니터링 (예 : Nagios, Zabbix 등)을 포함하여 모니터링을하는 무료/없는 소프트웨어가 많이 있습니다. 이 모니터에는 일반적으로 Java 앱이 여러 가지 다른 방식으로 통합 될 수있는 Open API가 있습니다.
  • 서비스 애플리케이션에 따라 제어 할 수있는 경우 Java 응용 프로그램이 확인하는 다른 방법으로 노출하십시오 (예 : 포트에서 더미 리스너를 실행하고 파일 생성 등). Windows 서비스는 크로스 플랫폼이 아니므로 곧 지원할 것으로 예상되는 것이 아닙니다.

다른 팁

일부 운영 체제에는 Windows와 같은 "서비스"개념이 없기 때문에 순수한 자바 방법이 있다고 생각하지 않습니다. 프로젝트에서 우리는 명령 줄에서 "SC"명령에 대한 통화 주위에 래퍼를 썼습니다. 서비스 상태를 얻으려면 다음을 수행 할 수 있습니다.

SC 일부 컴퓨터 쿼리 "내 서비스 이름"

출력을 수동으로 구문 분석해야하지만 매우 간단합니다.

라이브러리는 모르겠지만 일부 쉘 명령을 통해 출력을 구문 분석하고 출력을 구문 분석해야 할 수있는 자세한 내용에 따라

순 시작 서비스 이름

서비스를 시작하거나 이미 시작된 오류 메시지를 돌려줍니다. 나는 당신에게 지위를 줄 명령을 모른다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top