【发布时间】:2015-04-07 06:09:58
【问题描述】:
我有一个守护脚本,它将连接 beanstalkd。该脚本将运行 3 小时。它将使用 tcp 连接放置一个作业,但是,在 1.5 小时后,当使用此连接放置第二个作业时。套接字将收到错误“对等方重置连接”。 Beanstalk不会关闭连接。所以我想知道Linux内核是否会自动关闭空闲连接?如果是,Linux内核会保持空闲连接多长时间?
【问题讨论】:
标签: linux sockets linux-kernel
我有一个守护脚本,它将连接 beanstalkd。该脚本将运行 3 小时。它将使用 tcp 连接放置一个作业,但是,在 1.5 小时后,当使用此连接放置第二个作业时。套接字将收到错误“对等方重置连接”。 Beanstalk不会关闭连接。所以我想知道Linux内核是否会自动关闭空闲连接?如果是,Linux内核会保持空闲连接多长时间?
【问题讨论】:
标签: linux sockets linux-kernel
是的,linux-kernel 将根据您的 ssh 配置重置空闲连接。 您必须使用选项 BatchMode=yes 并在您的 ssh-config 文件(路径为 /home//.ssh/config)中设置 ServerAliveInterval,如果 BatchMode 是,则默认值为 300。 ServerAliveInterval 以秒为单位设置超时间隔,如果没有从服务器接收到数据,它将通过加密通道发送消息以请求服务器响应。还将 TCPKeepAlive=yes 选项放在 ssh-config 文件中。 内核将使用这些配置来检测 tcp 连接状态。但是,它在长时间运行的脚本中很有用。
【讨论】: