ポート23でTCP接続を許可するリモートデバイスと仮想PTYを接続しようとしています。ターゲットデバイスのソケットの開閉は次のとおりです。重要イベントとデバイスの操作。
socat
現在、以下を使用してこれを実行しようとしています。
socat pty,link=/dev/ttyACM99,raw tcp:192.168.0.15:23
/dev/ttyACM99
デバイスを開いてデータを読み書きできるので動作しますが、socat
コマンドが実行されるとTCPポートが開き、終了したsocat
ときにのみ閉じます。
私が必要とするのは、他のソフトウェア(気にしない)がTCPポートを開いた後にのみTCPポートを開くことです/dev/ttyACM99
。閉じると/dev/ttyACM99
、TCP接続を削除する必要があります。
socat
マニュアルページやインターネット検索(インターネット検索はかなりトリッキーなことにもかかわらず)でこれがうまくいくと言う内容を見つけることができず、socat
私自身のパイププログラムを書くのに苦労したくありません(できれば本当に必要な場合)。
修正する:
PTYパイプのパラメータが見つかり、必要に応じてwait-slave
機能しますが、socat
PTYを閉じると終了しますが、これは理想的ではありません。
socat pty,link=/dev/ttyACM99,raw,wait-slave tcp:192.168.0.15:23
プログラム全体を閉じるのではなく、ターゲットソケットのみを閉じるなどのオプションをwait-slave
使用できますか?wait-slave
現在実行中で、while 'true'
これまで動作しているようですが、理想的ではありません。