mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 08:05:49 -06:00
[GH-ISSUE #3837] frpc被杀死不会触发服务端CloseProxy事件 #3049
Labels
No labels
In Progress
WIP
WaitingForInfo
bug
doc
duplicate
easy
enhancement
future
help wanted
invalid
lifecycle/stale
need-issue-template
need-usage-help
no plan
proposal
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/frp#3049
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ARTI5T on GitHub (Dec 9, 2023).
Original GitHub issue: https://github.com/fatedier/frp/issues/3837
Bug Description
frpc被SIGKILL杀死断开连接后,服务端不会向插件发送CloseProxy事件。
frpc Version
0.52.3
frps Version
0.52.3
System Architecture
linux/amd64
Configurations
Logs
frpc正常退出会在frps看到如下log:
frpc被SIGKILL则不会看到这条log
Steps to reproduce
No response
Affected area
@superzjg commented on GitHub (Dec 9, 2023):
要等待一段时间,frps才会知晓并关闭,在等待的一段时间内再次联机连不上。
所以,写脚本时,尽量先用常规的15信号杀一次,再用 9 (SIGKILL)杀一次即可。本来SIGKILL就是不推荐第一次使用,它不会让应用程序任何善后的动作。
@ARTI5T commented on GitHub (Dec 9, 2023):
服务端在发现客户端掉线后都应当触发CloseProxy事件,无论客户端是正常退出还是handshake超时掉线。但是似乎存在客户端超时不会触发该事件的bug。
@superzjg commented on GitHub (Dec 9, 2023):
超时是会触发的,我测试了,不过要最长至几十秒时间,时间一到,frps会输出相关日志。在此段时间内影响同一个frpc代理重启再次连接时连不上。
@superzjg commented on GitHub (Dec 9, 2023):
我测试的时候,将
transport.heartbeatInterval设为负数,禁用了心跳,默认的tcpmux检查时间是60秒。若不禁用心跳,应该是默认30秒,等待时间更短。@xqzr commented on GitHub (Dec 9, 2023):
e66e77cb8f/conf/frpc_full_example.toml (L117)@ARTI5T commented on GitHub (Dec 9, 2023):
已确认,默认timeout比较长,修改timeout之后可以使用了。