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

解决方案 »

  1.   

    其实用批处理判断更好。调用命令
    SC QUERY 服务名称
    如果未安装,错误码(%ERRORLEVEL%)为1060    Process proc = Runtime.getRuntime().exec("SC QUERY NOT_A_SVC");
        int errorLevel = proc.waitFor();
        System.out.println(errorLevel);
      

  2.   

    谢谢先.
    我用cmd命令执行错误是返回1060
    但是用java代码
        int errorLevel = proc.waitFor();
        System.out.println(errorLevel);
    这里一直都是返加 0 
    应该怎样写?
      

  3.   

    这个,就真不知道了,我这里都OK的,你windows版本多少啊?我这里最低vista,测过几个不同的系统,都是1060话说回来了,如果你自己写bat,就一样在bat里面判断啊SC QUERY TOMCAT_SVC_NAMEIF NOT ERRORLEVEL 1060 goto endREM 安装tomcat服务的代码
    %TOMCAT_HOME%\bin\service.bat install TOMCAT_SVC_NAMEREM 设置为自动启动方式,注意“start=”后面的空格
    SC CONFIG TOMCAT_SVC_NAME start= auto:end