背景:
    很多时候我们写了一些bat文件,都希望能开机自动化启动。 例如我们把Selenium Grid搭建在Win机器上,希望我们机器启动后我们的Selenium Grid相关的服务就能自动启起来。也许你会把Grid启动的命令写在bat文件中,然后放于Windows的startup里面,这样只要有用户登录win机器,bat文件就自动启动起来。但是这个得有用户登录上才行,所以急需服务化。

    方案一:

    1. 下载微软的两个小工具 srvany.exe和instsrv.exe,这里提供百度网盘地址:https://pan.baidu.com/s/1bplNZAZ
    2. 打开控制台,执行如下命令:
      C:\services>c:/services/instsrv.exe ServiceName c:/services/srvany.exe

    其中 ServiceName为你自定义的服务名称。

    1. 开始 - 运行 - regedit 打开注册表,找到如下路径,ServiceName为第二部设置的服务名称:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
    2. 在该服务下新建Key ,取名为 Parameters。如果已经存在就不需要新建。
    3. 在创建好的 Parameters 下,创建3个String value。
      1. Application: 设置值为你要作为服务运行的程序地址。
      2. AppDirectory: 设置值为你要作为服务运行的程序所在文件夹路径。
      3. AppParameters: 设置值为你要作为服务运行的程序启动所需要的参数,如果不需要参数可以放空值
      4. 开始 - 输入:Services,打开Services 管理,找到你创建的ServicesName,右键属性,修改启动方式为Automatic,并启动。

    4. 创建Window服务 - 图1

    5. 方式二:
      win 提供了Task Scheduler ,通过这个也可以很灵活的设置开机启动,而且同样不需要用户登录情况下启动。

    6. 创建Window服务 - 图2