RSS订阅专注X86/ARM架构技术
博客交流QQ群693563350 赞助本站
你现在的位置:网站首页 / FRP教程 / 正文内容

守护FRPS/FRPC进程的linux脚本和使用方法

63260 FRP教程 | 2018年12月31日

在运行frps或frpc的时候常常会遇到进程意外停止,下面博士分享几个linux脚本来保持frps或frpc的进程不被退出。


脚本一:

新建一个脚本文件shouhufrps.sh放入frp程序目录

vi shouhufrps.sh

将下面的脚本代码复制进去

#!/bin/sh

#添加本地执行路径
export LD_LIBRARY_PATH=./

while true; do
        #启动一个循环,定时检查进程是否存在
        server=`ps aux | grep frps | grep -v grep`
        if [ ! "$server" ]; then
            #如果不存在就重新启动
            systemctl restart frps
            #启动后沉睡10s
            sleep 10
        fi
        #每次循环沉睡10s
        sleep 5
done

如果你要改为守护其他程序,只要修改server字符串内的frps为你要守护的程序名称即可,then后面换行可以加echo输出,如果要在后面执行脚本请赋予被执行脚本的权限chmod +x

新建一个Session

screen -S shouhufrps

执行守护脚本

sh ./shouhufrps.sh

将Session保持在后台

Ctrl + A D


脚本二:

这是另一个简化后的脚本

#!/bin/bash
if ps -ef|grep "frp"|egrep -v grep >/dev/null
then
    echo ok!
else
    echo $(date +%T%n%F)" Restart Frps Services " >> restartfrps.log
    systemctl restart frps
fi

将上方代码保存为frpkeeper.sh并将下面代码加进crontab定时任务,即可每分钟执行一次检测

* * * * * sh /root/frpkeeper.sh


脚本三:

这个脚本是博士在网友“小Q主人”那里获得的,这个linux脚本是windows进程守护脚本设计思路编写的。

将下面的代码保存为frps.sh放入frp程序目录

cd `dirname $0`
start='./frps -c ./frps.ini'

while :
do
echo [`date`]restart\"$start\" > /root/restartfrps.log
$start
done

使用方法

screen -S frps
sh ./frps.sh

博士再打开了一个shell,kill掉了frps进程,发现这个脚本起作用了马上又恢复了frps进程,效果还是可以的。

上一篇:linux软件源快速更换

下一篇:在CentOS 6.X 上面安装 Python 2.7.X

猜你喜欢

Title - Artist
0:00

    分享:

    支付宝

    微信