常会用到cow 或者 frp这类的工具,因为基本都是go写的所以斌没有提供windows的一些服务控制脚本之类的,这个时候我们可以借助第三方工具winsw,它提供了xml文件可以进行服务的动态管理,方便不少。下面是一系列的使用方法,不喜欢我bb的可以直接看官方文档。
Link:https://github.com/kohsuke/winsw
安装到如下链接获取到你想要的winsw版本:https://github.com/kohsuke/winsw/releases
现在后,我们可以一并下载一个配置文件,它的名字是这个软件的名字加上exe,例如:
xml文件内容是winsw管理的核心服务,例如我现在管理一个我的frp服务,那么他的服务配置文件如下
<service> <id>frpc</id> <name>frpc</name> <description>frpc service.</description> <executable>F:toolsfrp_0.29.0_windows_amd64frpc.exe</executable> <arguments>-c F:toolsfrp_0.29.0_windows_amd64frpc.ini</arguments> <logmode>none</logmode> </service>具体的full版本配置文件可以参考:https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md,并且winsw,支持输出日志。
命令先打开powershell,posershell 必须使用管理员执行
# 安装服务./winsw install # 卸载服务./winsw uninstall# 启动服务./winsw start./winsw restart./winsw status 效果这个是启动frp后的效果
如何配置多个服务issue:https://github.com/kohsuke/winsw/issues/317
目前winsw并不支持,在xml配置多个服务,所以需要使用可以拷贝多个exe来进行管理