我想将应用程序输入和输出重定向到 unix 套接字并从另一个会话连接到该套接字。到目前为止,我正在做的事情如下:
在“服务器”端:
socat EXEC:"command" UNIX-LISTEN:/tmp/comm
Run Code Online (Sandbox Code Playgroud)
而在“客户端”方面:
socat UNIX-CONNECT:/tmp/comm -
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是一旦客户端socat
终止,服务器也会终止。但我希望它继续运行并稍后重新连接......我该如何实现?
cuo*_*glm 15
您必须使用fork
选项,它在子进程中处理连接,使父进程尝试处理更多连接。
在第一个终端:
$ socat - UNIX-LISTEN:/tmp/comm,fork
Run Code Online (Sandbox Code Playgroud)
在第二个终端:
$ socat UNIX-CONNECT:/tmp/comm -
Run Code Online (Sandbox Code Playgroud)
在第二个终端按Ctrl+ C,切换到第一个终端,看看你的服务器还在运行。
归档时间: |
|
查看次数: |
11815 次 |
最近记录: |