web-dev-qa-db-fra.com

Arrêter la Socat de terminer quand autre fin ferme

J'aimerais rediriger une entrée et une sortie d'applications dans une prise UNIX et connectez-vous à cette prise d'une autre session. Ce que je fais jusqu'à présent, c'est ce qui suit:

Sur le côté "serveur":

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

Et sur le côté "Client":

socat UNIX-CONNECT:/tmp/comm -

Cela fonctionne très bien, mais dès que le côté client socat se termine, le serveur se termine également. Mais j'aimerais continuer à courir et à renouer plus tard ... Comment puis-je accomplir ça?

10
Max Ried

Vous devez utiliser l'option fork, qui gère une connexion dans un processus enfant, rendez le processus parent tenter de gérer plus de connexions.

Dans le premier terminal:

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

Dans le deuxième terminal:

$ socat UNIX-CONNECT:/tmp/comm -

Presse Ctrl+C Dans le deuxième terminal, passez au premier terminal et voir votre serveur est toujours en marche.

11
cuonglm