"共有"プロセスに対して複数のネットワーク接続を行うことができるように、プロセス(たとえばBash)をラップするツールはありますか?各接続は、プロセスに入力(例えば、環境変数の設定、外部コマンドの実行)を送信し、プロセスからの対応する出力を得ることができる。複数の接続を許可するプロセスをラップするツール
これまでのように、socat
を使用している私が見つけた最も近いツール:
server% socat exec:bash tcp-listen:1234,reuseaddr,fork
client1% socat - tcp:localhost:1234
client1% pwd
client1% x=123
client2% socat - tcp:localhost:1234
client2% echo $x # print 123 (but on client1!)
しかし、問題は、複数のアクティブな接続がある場合には、(サーバからの)出力がクライアントに行かないかもしれないということです対応する入力を送信した。
回避策はありますか?それとも別のツールがありますか?可能であれば、ツールは入力を「シリアライズ」する必要があるため、競合状態は発生しません。
私は、複数のライブラリを使用するスクリプトをラップして、毎回起動するのではなく(かなり時間がかかります)、実行中のスクリプトプロセスに接続し、実行するコマンドを送信するだけです。
http://home.vr-web.de/Juergen.Kahrs/gawk/gawkinetでのgawkのネットワーキングおよびコプロセス機能に関する優れたチュートリアルがあります.html#トップ、あなた自身を圧倒する場所。 perlでも同じことができました。この記事は、役に立つかもしれない他のツール(ソートではない)を参照しています。がんばろう。 – shellter