これはXYの問題かもしれませんが、1つのシリアル端末(たとえば/ dev / ttyUSB0)を2つの端末に複製したいと思います。両方の端末のうちの1つの入力は実際の端末に多重化され、出力は両方の端末に供給される。これを達成するためのツールはありますか/これは可能ですか?
私はしばしばシリアルを介して組み込みハードウェアと作業するために小さな端末エミュレータを使用します。用語。インタラクティブ端末を常に開いたままにして、実行コマンドシーケンスも使用したいと思います。予想される上。たとえば、U-Bootプロンプトで再起動して停止します。
私は次のように使用されるツールを想像しています。
$ teeterm /dev/ttyUSB0
Clone successful: /dev/pts/3 and /dev/pts/4 available.
$ dterm /dev/pts/3 115200
他のシェルから:
$ ./uboot (which spawns and interacts with dterm /dev/pts/4 115200)
ベストアンサー1
dirktによって公開されたサンプルコードに基づいて、このための実際のユーティリティを構築しました。これはGithubで見つけることができます。
私は最終的に以下を使用しました。
teeterm dterm /dev/ttyUSB0 115200
(in another shell) dterm pty0
(in another shell) dterm pty1
両方の擬似端末はコマンドプロセスI / Oにアクセスできます。このユーティリティの最も重要な側面はフォーク疑似端末(ユーザーが利用できない)呼び出しを介して子プロセスを制御します。開いているそして選ぶ2 つの疑似端末を生成し、3 つの疑似端末すべてへの入力を監視するために呼び出されます。