端末でcpp実行可能ファイルを実行しています。他の端末の入力/出力を渡して取得する方法は?
答え1
両方の端末の所有者であれば、これを行うことができます。
ターミナルAから:
% tty
/dev/pts/1 # make note of this
% while sleep 3600; do :; done # start a command which does NOT read
ターミナルBから:
% cat </dev/pts/1
cat
これで、ターミナルAに入力するすべてのルートがターミナルBに接続されます。
これは、端末Aで実行されているシェルが入力while sleep 3600; ...
のために端末Bと競合するのを防ぐためです。cat
まったく無意味に見えますか?
だからだ。ターミナルBで実行されるプログラムは、さまざまなIPCインターフェース(名前付きパイプ、Unixソケット、共有メモリなど)を使用してターミナルAの他のプログラムとより効果的に通信できます。同じシステム上にあるので、まず端末Aでプログラムを実行できます。