将长期运行的程序注册为Windows系统服务

2020年10月12日 分类:原创 作者:清心涟漪

预计所需阅读时间:3分钟

在Windows系统开发过程中,需要长期运行某些程序来为开发环境提供支持,例如mysql, redis这些数据库,这两个数据库程序,提供运行命令来将它们的程序作为服务进程来运行,每次开机运行。不需要运行的话,可以停止该服务。

而另外有些程序并没有提供安装为服务的命令。这里就是可以使用WinSW的工具,将其配置为Windows系统服务。

一、下载

WinSW的Github项目地址:https://github.com/winsw/winsw,项目网页有主要命令的使用方法。先在这里:https://github.com/winsw/winsw/releases下载64位或32位的压缩包。

在昨天的文章《使用frp进行NAT内网穿透:从外部访问本地开发的WEB服务》中,frpc这个客户端程序就没有像mysql那样提供安装为服务的命令。而且在前台通过命令行运行frpc程序,那么命令行界面不能关闭,不然内网穿透就会中断。

二、配置service.xml文件

frpc程序为像,在WinSW.NETCore.x64目录(WinSW程序目录)下,新建名烛frpc-service.xml的文件,写入以下配置:

<service>
 <id>frpc</id>
 <name>frpc</name>
 <description>frpc to connect to my frps server</description>
 <logmode>roll</logmode>
 <depend></depend>
 <executable>D:\Programing\frp\frpc.exe</executable>
 <arguments>-c D:\Programing\frp\frpc.ini</arguments>
</service>

这里要注意在executable和arguments这两个标签里,最好使用绝对路经,以免找不到文件,出错。

三、安装和卸载服务

以管理员身份运行命令行CMD,进入WinSW目录下,输入以下命令:

winsw install frpc-service.xml

然后就可以在计算机管理,服务里看到这个程序,这样就是可以开机时,连接服务器的内网穿透服务了。

卸载服务的方法也同理,以管理员身份运行命令行,进入该目录,输入以下命令:

winsw uninstall frpc-service.xml

用这工具来安装和卸载服务时,可以放心,不会有不干净的残留文件留在系统。因为涉及注册系统服务,所以有些防护会提示有问题或者病毒,这点可以放,只要你运行的程序没问题,你将它注册为在后台运行的系统服务也不会有问题。

继续阅读