如何在特定的/ dev / ttyX(或/ dev / pts / X)设备上启动bash?

时间:2016-04-03 18:18:59

标签: linux bash tty pty terminal-emulator

- 真实设备 -

假设我在/ dev / ttyACM0上有一条UART电缆(并且另一台计算机连接到电缆的另一端),如何在/ dev / ttyACM0设备上启动bash会话?那么我的另一台计算机能够执行bash命令吗?

- 伪终端 -

另一个例子,让我说我在设备/ dev / ptmx中打开了cutecom或minicom,它将创建一个相应的/ dev / pts / X设备。如何启动bash会话以在创建的/ dev / pts / X上运行?

如果我理解正确,如果它在真实终端或伪终端上运行,那么bash(或getty)并不重要。所以我认为GUI终端(比如xterm)读取/ dev / ptmx并在相应的/ dev / pts / X上启动bash,如果这是真的,那么我应该能够做同样的事情,我该如何实现呢?或者我对它的理解是错误的?

1 个答案:

答案 0 :(得分:3)

fork()一个子进程。打开串行设备或伪节点,然后dup2()将它打开到fd的0,1和2. execv()您喜欢的shell。