他の端が閉じたときにsocatが終了しないようにする


11

アプリケーションの入出力をunixソケットにリダイレクトし、別のセッションからそのソケットに接続したいのですが。これまでに行っていることは次のとおりです。

「サーバー」側:

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

そして「クライアント」側では:

socat UNIX-CONNECT:/tmp/comm -

かなりうまくいきますが、クライアント側がsocat終了するとすぐにサーバーも終了します。しかし、実行を続けて後で再接続したいのですが、どうすれば実現できますか?

回答:


12

fork子プロセスで接続を処理するオプションを使用して、親プロセスでより多くの接続を処理する必要があります。

最初のターミナルで:

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

2番目のターミナル:

$ socat UNIX-CONNECT:/tmp/comm -

2番目のターミナルでCtrl+ Cを押し、最初のターミナルに切り替えて、サーバーがまだ稼働していることを確認します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.