gpt4 book ai didi

c++ - fork execlp 调用中的子超时

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:01:36 26 4
gpt4 key购买 nike

我有一个程序,其中子 ssh 进入服务器并执行命令并返回。 parent 通过信号(SIGCHLD,SIG_IGN)处理 child 。如果 ssh 服务器没有响应并且来自命令行的 ssh 并永远等待其他服务器,有没有一种方法可以让 child 超时?

最佳答案

来自 ssh_config(5):

 ConnectTimeout
Specifies the timeout (in seconds) used when
connecting to the SSH server, instead of using the
default system TCP timeout. This value is used only
when the target is down or really unreachable, not
when it refuses the connection.

你可以看到它工作得很好,可以缩短延迟:

$ time ssh -oConnectTimeout=1 ehrlichman
ssh: connect to host ehrlichman port 22: Connection timed out

real 0m1.038s
user 0m0.000s
sys 0m0.000s
$

但它可能不适用于增加永远的延迟;允许 TCP 握手花费比内核配置等待更长的时间似乎不太可能。

关于c++ - fork execlp 调用中的子超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5390883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com