Parar socat de terminar quando o outro fecha

6

Gostaria de redirecionar uma entrada e saída de aplicativos para um soquete unix e conectar-me a esse soquete 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 socat do lado do cliente termina, o servidor também termina. Mas eu gostaria que continuasse correndo e se reconectasse depois ... Como eu faço isso?

    
por Max Ried 15.05.2016 / 16:48

1 resposta

9

Você deve usar a opção fork , 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 + C no segundo terminal, mude para o primeiro terminal e veja o seu servidor ainda em execução.

    
por 15.05.2016 / 17:41

Tags