bash – 如何减少TCP connect()系统调用超时?

在下面的命令中,我启用文件/dev/tcp/10.10.10.1/80进行读写,并将其与文件描述符3相关联:

$time exec 3<>/dev/tcp/10.10.10.1/80
bash: connect: Operation timed out
bash: /dev/tcp/10.10.10.1/80: Operation timed out

real    1m15.151s
user    0m0.000s
sys     0m0.000s

这会自动尝试执行TCP三次握手.如果无法在上面的示例中访问10.10.10.1,则连接系统调用尝试连接75秒.这个75秒的超时是由bash决定的吗?或者这个系统是默认的吗?最后但并非最不重要的是,有没有办法减少这个超时值?

最佳答案 它由TCP决定.它可以通过应用程序代码在每个插槽上减少.

注意只有在根本没有响应时,超时才会生效.如果存在连接拒绝,则会立即发生错误.

点赞