您的位置:时间博客>More>运维安全>Windows将FRP设置为服务并开机自启

Windows将FRP设置为服务并开机自启

平常PHP写的脚本和GO编译出来的程序在Windows平台cmd命令行运行会出现一个大黑框 还不能关闭,碍眼不说,关键不能开机自启;

其实Windows也能像Linux那样设置程序为后台运行,就是将其添加为服务;

此处需要使用到winsw 下载地址: https://github.com/kohsuke/winsw/releases

下载解压至任意目录并CD进入;

d91bb76fd9fa75f54f348e90d3c8f941.png

这里将下载WinSw.Net4.exe重命名为winsw.exe了,以方便后面操作;

创建与winsw同名的配置文件,后缀为xml

此处以配置FRP客户端为例:

<service>
	<!-- 该服务的唯一标识 -->
    <id>frp</id>
    <!-- 该服务的名称 -->
    <name>frp0.27.1-windows-amd64</name>
    <!-- 该服务的描述 -->
    <description>frpc客户端 这个服务用 frpc 实现内网穿透</description>
    <!-- 要运行的程序路径 -->
    <executable>D:\Software\frp\frp_0.27.1_windows_amd64\frpc.exe</executable>
    <!-- 携带的参数 -->
    <arguments>-c frpc.ini</arguments>
    <!-- 第一次启动失败 60秒重启 -->
    <onfailure action="restart" delay="60 sec"/>
    <!-- 第二次启动失败 120秒后重启 -->
    <onfailure action="restart" delay="120 sec"/>
    <!-- 日志模式 -->
    <logmode>append</logmode>
    <!-- 指定日志文件目录(相对于executable配置的路径) -->
    <logpath>logs</logpath>
</service>

开始使用:

//注册服务
winsw.exe install
//卸载服务
winsw.exe uninstall
//启动服务
winsw.exe start
//停止服务
winsw.exe stop
//重启服务
winsw.exe restart
//查看状态
winsw.exe status

注册服务时如果被某60拦截了需要点允许,如果提示:FATAL - WMI Operation failure: AccessDenied 则需要以管理员方式运行CMD再试;

不出意外的话打开任务管理器就能看到刚刚添加的服务了

c7b2e47de56b2e31b665d2169c7d6e9c.png

从服务里面看 可执行文件的路径是:"D:\Software\frp\frp_0.27.1_windows_amd64\winsw"

实际是 winsw.xml 中 executable 中的路径 不影响功能


转载请注明本文标题和链接:《 Windows将FRP设置为服务并开机自启
分享到:

相关推荐

网友评论 2

未登陆 表情
Ctrl+Enter快速提交
  1. #1

    admin 2年前 (2021-11-30) 回复
    • @admin:

      admin 1年前 (2022-06-08) 回复