- 真实设备 -
假设我在/ 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,如果这是真的,那么我应该能够做同样的事情,我该如何实现呢?或者我对它的理解是错误的?
答案 0 :(得分:3)
fork()
一个子进程。打开串行设备或伪节点,然后dup2()
将它打开到fd的0,1和2. execv()
您喜欢的shell。