侧边栏壁纸
博主头像
Linux学习记录博主等级

我们因为好奇而所获得的一切,最终会因为骄傲而全然玷污

  • 累计撰写 45 篇文章
  • 累计创建 13 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

用WinSW将windows程序注册为系统服务

Frank
2022-10-15 / 0 评论 / 0 点赞 / 3 阅读 / 1464 字

最近运行了FRP服务,但是程序启动却显示一个命令行窗口,十分碍眼,故有此文。

下载WinSW

GitHub - winsw/winsw: A wrapper executable that can run any executable as a Windows service, in a permissive license.

备注:WIN10/11系统自带.NET框架,下载WinSW.NET2.exe或WinSW.NET4.exe即可,体积小巧。

如何使用

  1. 复制WinSW到程序目录(要开服务的程序),修改WinSW名字,比如要开frp服务,则改为frpc-sw.exe;

  2. 新建一个同名xml文件:frpc-sw.xml,文件内容参考如下:

<service>
<id>frpc</id>
<name>frpc客户端</name>
<description>frpc客户端描述</description>
<env name="HOME" value="%BASE%"/>
<executable>"%BASE%\frpc.exe"</executable>
<arguments>-c "%BASE%\frpc.ini"</arguments>
<log mode="roll"></log>
<logpath>%BASE%\logs</logpath>
</service>

说明:id服务名,name显示名称,description描述,%BASE%程序所在目录的路径,executable执行主程序,arguments命令,logpath日志存放路径。

最后

以管理员运行CMD,启动相应服务:

frpc-sw.exe install  注册服务

frpc-sw.exe uninstal  卸载服务

frpc-sw.exe start 启动服务

frpc-sw.exe stop 停止服务

frpc-sw.exe restart 重启服务

此处不一一列举,有更高级需求,参考原文。

一个避坑

executable和arguments相关地方可以用引号,避免程序在“program files”这种有空格的路径,导致失败。  

0

评论区