我正在终端上运行 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
现在,您在终端 A 中输入的任何行都将转到cat
终端 B 中。
这是为了防止在终端 A 中运行的 shell 与终端 Bwhile sleep 3600; ...
争夺输入。cat
看起来完全没有意义?
那是因为它是。在终端 B 中运行的程序可以使用各种 IPC 接口(命名管道、unix 套接字、共享内存等)更好地与终端 A 中的另一个程序进行通信。由于您位于同一系统上,因此您可以首先在终端 A 中运行该程序。