赞
踩
在运行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
新建一个Sessionscreen -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进程,效果还是可以的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。