创建Windows服务

背景:
很多时候我们写了一些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。

    • Application: 设置值为你要作为服务运行的程序地址。
    • AppDirectory: 设置值为你要作为服务运行的程序所在文件夹路径。
    • AppParameters: 设置值为你要作为服务运行的程序启动所需要的参数,如果不需要参数可以放空值
  4. 开始 - 输入:Services,打开Services 管理,找到你创建的ServicesName,右键属性,修改启动方式为Automatic,并启动。

image.png

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

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,792评论 0 11
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • win7 cmd管理员权限设置 net localgroup administrators 用户名 /add 把“...
    f675b1a02698阅读 5,390评论 0 11
  • 部分内容转载自搜狗百科 cmd是command的缩写.即命令提示符(CMD),是在OS / 2 , Windows...
    青冥之上阅读 2,429评论 0 24
  • 转自https://tieba.baidu.com/p/5231084852 system process 进程文...
    间歇性学习mk阅读 3,459评论 0 5