日期:2014-05-20  浏览次数:20598 次

如何用java判断 在window注册的服务名是否已经存在?
我用批处理在window注册了一个tomcat服务,希望用java判断这个服务名是不已经存在。

------解决方案--------------------
其实用批处理判断更好。调用命令
SC QUERY 服务名称
如果未安装,错误码(%ERRORLEVEL%)为1060

Java code
    Process proc = Runtime.getRuntime().exec("SC QUERY NOT_A_SVC");
    int errorLevel = proc.waitFor();
    System.out.println(errorLevel);

------解决方案--------------------
这个,就真不知道了,我这里都OK的,你windows版本多少啊?我这里最低vista,测过几个不同的系统,都是1060

话说回来了,如果你自己写bat,就一样在bat里面判断啊

SC QUERY TOMCAT_SVC_NAME

IF NOT ERRORLEVEL 1060 goto end

REM 安装tomcat服务的代码
%TOMCAT_HOME%\bin\service.bat install TOMCAT_SVC_NAME

REM 设置为自动启动方式,注意“start=”后面的空格
SC CONFIG TOMCAT_SVC_NAME start= auto

:end