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

检测远程frps上的端口是否在线杀掉本地进程脚本

11790 FRP教程 | 2020年04月07日

博士的frps服务端最近频繁出现frpc连接后端口却不在线,中断运行再重新运行frps又会在线一会,很快又会掉线,但是ps -ef|grep frps|grep -v grep查看进程却还在,针对这个情况修改了之前那个检测远程frps上的端口是否在线自动发送邮件脚本,来实现检测远程frps端口是否在线来杀死frps脚本。

运行该脚本需要安装nmap命令,安装方法:http://diannaobos.com/post/933.html 

如果想改成检测本地端口可以将nmap命令换成下面的netstat命令即可

netstat -nl |grep 202|grep ":::202"|wc -l

kill.sh脚本代码

#!/bin/bash
export LD_LIBRARY_PATH=./
host="frpzj.kskxs.com"
port="2333"

let status=2
while true; do
pos_num=`nmap -Pn $host -p $port|grep "/tcp open"|wc -l`

echo status=$status, pos_num=$pos_num

if [ $status -ne $pos_num ] && [ $pos_num -eq 0 ]
then    
{

	ps -ef | grep frps | grep -v grep| grep -v SCREEN | awk '{print $2}'| xargs kill -9
	echo [`date`]kill > /root/killfrps.log
	let status=$pos_num
	
} else {

let status=$pos_num

}

fi
sleep 10
done

使用方法

screen -S kill
bash ./kill.sh

配合frps守护进程脚本可以实现杀死进程后自动重启frps。注释:加grep -v SCREEN是为了防止杀掉SCREEN进程

上一篇:-bash: xx: command not found在有yum源情况下处理方法

下一篇:windows下的frpc/frps进程守护脚本

猜你喜欢

Title - Artist
0:00

    分享:

    支付宝

    微信