由于用了kcptun经常出现莫名其妙连不上的情况,为了偷懒写了一个脚本,自动杀掉kcptun进程后重启。
ubuntu下kcptun目录结构如下:
其中kcptun.sh是自动杀死kcptun进程后重启的脚本,server_linux_amd64是服务端程序,client_linux_amd64是客户端程序。脚本内容如下:
echo "Restart server_linux_amd64 kcptun"
server_linux_amd64
PID=$(ps -e|grep "server_linux_am"|awk '{printf $1}')
if [ $? -eq 0 ]; then
echo "process id:$PID"
else
echo "process server_linux_am not exit"
exit
fi
kill -9 ${PID}
if [ $? -eq 0 ];then
echo "kill server_linux_am success"
else
echo "kill server_linux_am fail"
fi
nohup ./server_linux_amd64 -t 127.0.0.1:443 -l :29900 --key mykey --crypt aes-128 -nocomp -dscp 46 -sndwnd 1024 -rcvwnd 1024 --mode fast2 &
使用chmod +x kcptun.sh赋予运行权限,然后运行脚本自动重启kcptun服务端。
客户端运行脚本为(windows):
"client_windows_amd64.exe" -l :9527 -r X.X.X.X:29900 -key "mykey" -crypt aes-128 -nocomp -mtu 1350 -sndwnd 512 -rcvwnd 1024 -dscp 46 -mode fast2
X.X.X.X为服务端IP地址