Pare o socat de terminar quando o outro lado fechar

11

Gostaria de redirecionar uma entrada e saída de aplicativos para um soquete unix e conectar-me a esse soquete a partir de outra sessão. O que estou fazendo até agora é o seguinte:

No lado "servidor":

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

E no lado "cliente":

socat UNIX-CONNECT:/tmp/comm -

Funciona muito bem, mas assim que o lado do cliente socattermina, o servidor também termina. Mas eu gostaria que continuasse funcionando e reconectasse mais tarde ... Como faço isso?

Max Ried
fonte

Respostas:

12

Você deve usar a forkopção, que manipula uma conexão em um processo filho, faz com que o processo pai tente manipular mais conexões.

No primeiro terminal:

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

No segundo terminal:

$ socat UNIX-CONNECT:/tmp/comm -

Pressione Ctrl+ Cno segundo terminal, alterne para o primeiro terminal e veja se o servidor ainda está em execução.

cuonglm
fonte