Socat

當另一端關閉時停止 socat 終止

  • May 15, 2016

我想將應用程序的輸入和輸出重定向到一個 unix 套接字並從另一個會話連接到該套接字。到目前為止,我正在做的事情如下:

在“伺服器”端:

socat EXEC:"command" UNIX-LISTEN:/tmp/comm

在“客戶端”方面:

socat UNIX-CONNECT:/tmp/comm -

它工作得很好,但是一旦客戶端socat終止,伺服器也會終止。但我希望它繼續執行並稍後重新連接……我該如何實現?

您必須使用fork在子程序中處理連接的選項,使父程序嘗試處理更多連接。

在第一個終端:

$ socat - UNIX-LISTEN:/tmp/comm,fork

在第二個終端:

$ socat UNIX-CONNECT:/tmp/comm -

在第二個終端中按Ctrl+ C,切換到第一個終端,然後查看您的伺服器仍在執行。

引用自:https://unix.stackexchange.com/questions/283284