<service>
  <!-- ID[必需]: 指定服务 ID。此 ID 在系统中安装的所有服务中必须是唯一的,并且应完全由字母数字字符组成。-->
  <id>Sing-box</id>

  <!-- Name[可选]: 指定服务的显示名称,在系统中安装的所有服务中必须是唯一的。 -->
  <name>Jenkins</name>

  <!-- 描述[可选] -->
  <description>该服务是Jenkins服务</description>

  <!-- 启动模式[可选]: 指定服务的启动模式。Automatic(自动,默认) 或 Manual(手动) -->
  <startmode>Automatic</startmode>

  <!-- 延迟自动启动[可选]: 指定服务是否延迟启动。true 或 false -->
  <delayedAutoStart>false</delayedAutoStart>

  <!-- 依赖项[可选]: 指定服务的依赖项。 -->
  <depend></depend>

  <!-- 工作目录[可选]: 指定服务的工作目录。 -->
  <workingdirectory>D:\</workingdirectory>

  <!-- 可执行文件[必须]: 指定要启动的可执行文件。可以是绝对路径,也可以是环境变量中指定的可执行文件。-->
  <executable>java</executable>

  <!-- 环境变量[可选]: 指定要传递给可执行文件的环境变量。 -->
  <env name="JENKINS_HOME" value="%BASE%"/>
  
  <!-- 参数[可选]: 指定要传递给可执行文件的参数。 -->
  <arguments>arg1 arg2 arg3</arguments>

  <!-- 停止参数/停止命令[可选]: 指定停止服务时要传递给可执行文件的参数,当使用<stoparguments>时,必须使用<startarguments>替换<arguments> -->
  <executable>catalina.sh</executable>
  <startarguments>jpda run</startarguments>
  <stopexecutable>catalina.sh</stopexecutable>
  <stoparguments>stop</stoparguments>

  <!-- 其他命令[可选]: 指定其他命令。 -->
  <!-- 预启动命令在服务启动时,主进程启动之前执行。 -->
  <prestart>
    <executable></executable>
    <arguments></arguments>
    <stdoutPath></stdoutPath>
    <stderrPath></stderrPath>
  </prestart>
  <!-- 后启动命令在服务启动时,主进程启动完成后执行。 -->
  <prestop>
    <executable></executable>
    <arguments></arguments>
    <stdoutPath></stdoutPath>
    <stderrPath></stderrPath>
  </prestop>
  <!-- 预停止命令在服务停止时,主进程停止之前执行。 -->
  <poststop>
    <executable></executable>
    <arguments></arguments>
    <stdoutPath></stdoutPath>
    <stderrPath></stderrPath>
  </poststop>

  <!-- 停止超时[可选]: 指定服务停止的超时时间,默认为 Ctrl+C 信号后 15 秒。 -->
  <stoptimeout>10sec</stoptimeout>

  <!-- 下载文件[可选]: 指定要下载的文件。 -->
  <download from="http://example.com/some.dat" to="%BASE%\some.dat"
          proxy="http://aUser:[email protected]:80/"
          auth="basic" unsecureAuth="true"
          user="aUser" password="aPassw0rd" />

  <!-- 日志记录路径[可选]: 指定服务的日志记录路径。若未设置,则默认为配置文件同一目录。 -->
  <logpath></logpath>

  <!-- 日志记录模式[可选]: append(追加,默认) reset(重置) none(无) roll-by-size(按大小滚动) roll-by-time(按时间滚动) roll-by-size-time(按大小和时间滚动) -->
  <log mode="append"/>
  <log mode="reset"/>
  <log mode="none"/>
  <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>8</keepFiles>
  </log>
  <log mode="roll-by-time">
    <pattern>yyyyMMdd</pattern>
  </log>
  <log mode="roll-by-size-time">
    <sizeThreshold>10240</sizeThreshold>
    <pattern>yyyyMMdd</pattern>
    <autoRollAtTime>00:00:00</autoRollAtTime>
  </log>
  
  <!-- 失败时重试[可选]: 指定服务启动失败时的重试次数和重试间隔。 -->
  <onfailure action="restart" delay="10 sec"/> <!-- 重启服务,delay 可选延迟时间 -->
  <onfailure action="reboot" /> <!-- 重新启动 Windows。将显示蓝屏错误代码。 -->
  <onfailure action="none" /> <!-- 不执行任何操作,让服务停止 -->
</service>