始终保持 socat 活着

Rob*_*eny 6 linux tcp socat

我有一个 socat 运行良好,当连接进来时执行我的命令提供的参数。但是,我遇到的问题是套接字处于 EOF 并且下一次连接进入时,该过程需要 3 秒才能恢复。这个过程将永远保持下去,所以它认为有一个EOF是socat,至少这是我的理解。

我的命令是: socat -v -s -d -d tcp-listen:2600,reuseaddr,fork exec:"/usr/bin/cec-client $CEC_CLIENT_ARGS"

相关日志行:

2014/12/31 22:41:04 socat[4746] N socket 1 (fd 4) is at EOF
2014/12/31 22:41:05 socat[4746] N exiting with status 0
Run Code Online (Sandbox Code Playgroud)

ignoreeof两端都试过了,没有效果。我也试过设置超时,-t-T

jtp*_*yda 5

如果您正在使用 LISTEN 命令,例如OPENSSL-LISTENTCP-LISTEN等,该fork选项将断开与子进程的连接,以便 socat 可以继续接收。

例子:

socat - OPENSSL-LISTEN:443,method=TLS1.2,verify=0,cert=cert.pem,key=key.pem,fork
Run Code Online (Sandbox Code Playgroud)

感谢:https : //unix.stackexchange.com/a/283289/15954