首页节点相关 正文

Frp使用nssm封装为系统程序+PiNode和Docker的守护脚本

03-21 526 4条评论

Frp使用nssm封装为系统程序

使用frp映射节点端口的小伙伴们,经常会遇到各种问题,例如frp自动退出、开机不启动、被安全中心(或者杀毒软件)删除等等问题

今天,我们将介绍NSSM(Non-Sucking Service Manager)封装Windows服务工具将frp转化为系统服务,那么,上述问题都会解决。


首先,在文章下方下载nssm工具,然后把它拷贝到本地的frp目录下

nssm001.jpg


按住键盘上的shift键,在空白处再点击鼠标右键,会有"在此处打开Powershell窗口"的选项,选择

nssm002.jpg


在弹出的shell窗口中,输入以下命令:

./nssm install

nssm003.jpg

回车后,会弹出UI界面,如图

nssm004.jpg

  1. Path后的选择框,选择start.bat的路径

  2. Startup directory会自动填充。

  3. Arguments填写frpc.ini配置中的命令

-c frpc.ini

nssm005.jpg

最后Service name填写frpc,然后点击install service安装服务

nssm006.jpg

弹出提示框,nssm服务安装完成!

然后在Powershell窗口中继续输入以下代码,启动frpc服务

./nssm start frpc

nssm007.jpg

提示操作成功完成,这样已安装完毕,注意Powershell窗口要用管理员权限,否则可能会操作失败

至此往后,frp已封装成系统服务和系统一起启动,进程里无法结束任务


备注nssm常用命令

    安装服务:nssm install
    删除服务:nssm remove frpc
    删除服务确定:nssm remove frpc confirm 
    修改服务(显示界面修改):nssm edit frpc
    启动服务:nssm start frpc
    停止服务:nssm stop frpc
    重启服务:nssm restart frpc



PiNode和Docker的守护脚本

Pi Node程序自从0.4.9版本之后就有闪退的BUG现象,最近很多节点的Docker也开始闪退,我做了一个shell脚本来守护节点和刀客的程序,10秒检测一次,如果退出会自动运行

PowerShell脚本代码:

# 强制设置执行策略
$policy = Get-ExecutionPolicy -Scope Process
if ($policy -ne "RemoteSigned") {
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force
}

# 获取当前用户名
$USERNAME = $env:USERNAME

# 定义程序路径
$PI_PATH = "C:\Users\$USERNAME\AppData\Local\Programs\pi-network-desktop\Pi Network.exe"
$DOCKER_PATH = "C:\Program Files\Docker\Docker\Docker Desktop.exe"

# 守护循环
while ($true) {
    Start-Sleep -Seconds 10  # 延迟 10 秒

    # 检查 Pi Network 是否运行
    if (-not (Get-Process -Name "Pi Network" -ErrorAction SilentlyContinue)) {
        Start-Process -FilePath $PI_PATH -WindowStyle Hidden
    }

    # 检查 Docker Desktop 是否运行
    if (-not (Get-Process -Name "Docker Desktop" -ErrorAction SilentlyContinue)) {
        Start-Process -FilePath $DOCKER_PATH -WindowStyle Hidden
    }
}

将以上脚本保存为run.ps1文件,如图

run001.jpg

方法是新建一个文本文档,把后缀名txt更改为ps1。如果你电脑上不显示后缀名,从文件夹上方的“查看”中把“文件扩展名”的勾选上

run002.jpg


run.vbs的代码如下:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "powershell -ExecutionPolicy Bypass -WindowStyle Hidden -File D:\pisoft\run\run.ps1", 0, False

此段代码保存为run.vbs,用记事本打开此文件

其中D:\pisoft\run\run.ps1这个路径更改为你的实际路径

run003.jpg


win+R打开运行窗口,输入shell:startup 回车

run004.jpg


打开启动窗口,用鼠标右键拖动run.vbs到启动窗口,在弹出的右键菜单中选择“在当前位置创建快捷方式”

run005.jpg


这样就可以开机运行此守护脚本了,重启电脑后会执行此脚本

现在双击打开run.vbs,脚本后台运行,你尝试退出Pi Node或者Docker程序,10秒后会自动打开它。

打包的脚本下载

下载量 : 7  |  类型 : 执行文件
文章版权及转载声明

本站(Picn.cc)文章与教程皆为网络搜集和个人分享,并非代表Pi Network官方言论。如有误,望广大Pi友指正。

发表评论

快捷回复:

评论列表 (有 4 条评论,526人围观)参与讨论
网友昵称:pinode2025
pinode202503-21 来自贵州 椅子 Pi矿工 回复
节点界面闪退右下角托盘图标也不在了 但是任务管理器里面还是有个pinetwork的进程 这个还有没有用
网友昵称:Admin
Admin03-21 来自山东 Pi管理员 回复
@pinode2025 实验一下,昨天才写的
网友昵称:pinode2025
pinode202503-21 来自贵州 沙发 Pi矿工 回复
刀客不闪退 然后运行容易会卡死 有没有自动的办法
网友昵称:Admin
Admin03-21 来自山东 Pi管理员 回复
@pinode2025 卡死不会重启执行,只能是退出进程结束

目录[+]

取消
微信二维码
微信二维码
支付宝二维码