Windows 注册系统服务教程(包含bat 脚本)
一、场景
平时会遇到很多需要手动去把一些程序注册成系统服务,例如一些免安装版的中间件、数据库程序等,需要把运行窗口给隐藏起来,做成系统服务管理也方便。
一些整理汇总常用的注册服务方法,包括一些特殊场景。
二、Sc 命令注册
sc 是用来与服务控制管理器和服务进行通信的命令行程序。也可以将.bat 脚本或 .exe 程序注册成windows服务。
但实际使用的情况来看,使用 sc 命令把 .bat 脚本注册成 windows 服务是有问题的,所以 .bat 脚本可以使用其他方式来注册。
cmd 窗口运行,命令格式:
# 创建服务: sc create "服务名" DisplayName= "显示名称(注意“=”后有个空格)" start= auto type= own binpath= "程序路径+附加属性"
# 例如:
sc create "Proxy" DisplayName= "Proxy" start= "auto" binPath= "D:\mysql\mysql-proxy-0.8.5-windows-x86-32bit\bin\mysql-proxy-svc.exe --proxy-backend-addresses=127.0.0.1:6200"
# 删除服务:
sc delete 服务名
#例如:
sc delete Proxy
三、Nssm
.bat 脚本文件可以选择此方式,以及其他程序注册系统服务也可以选择此方式。
1、下载
官方下载:NSSM下载
该工具可以注册为Windows服务,下载后解压缩,根据实际系统进入目录,可以看到一个 nssm.exe 文件。
2、使用
在 nssm.exe 所在文件夹内运行以下命令:
nessm.exe install
回车后会弹出设置的窗口:
Application Path:选择运行程序,例如:D:\mysql\mysql-proxy-0.8.5-windows-x86-32bit\bin\mysql-proxy-svc.exe
Statup directory:在Application Path 选择好后此位置会自动生成。
Argument:有附加属性或者有的程序需要指定端口之类的可以在这里面设置,例如:--proxy-backend-addresses=127.0.0.1:6200
Service name:服务的名称,例如:Proxy
设置好后点击 Install service 进行注册,然后查看服务中心是否注册上。
如果没有显示或者无法启动服务,可以先手动运行下被注册的程序,例如如果是 .bat 脚本文件,先双击运行下此文件,然后关闭,服务应该就可以正常启动了。
时间仓促,如有错误欢迎指出,欢迎在评论区讨论,如对您有帮助还请点个推荐、关注支持一下
作者:博客园 - 凉年技术
出处:http://www.cnblogs.com/xxhxs-21/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
若内容有侵犯您权益的地方,请公告栏处联系本人,本人定积极配合处理解决。