如何在特定 /dev/ttyX(或 /dev/pts/X)设备上启动 bash?
How can I start a bash on a specific /dev/ttyX (or /dev/pts/X) device?
-- 真实设备--
假设我在 /dev/ttyACM0 上连接了一条 UART 电缆(电缆的另一端连接了另一台计算机),我如何在 /dev/ttyACM0 上启动 bash 会话] 设备?所以我的另一台计算机将能够执行 bash 命令?
-- 伪终端--
再比如,假设我在设备/dev/ptmx中打开了cutecom或minicom,它会创建一个对应的/dev/pts/X设备。如何在创建的 /dev/pts/X 上启动与 运行 的 bash 会话?
如果我理解正确,bash(或 getty)在真实或伪终端上 运行ning 并不重要。所以我认为 GUI 终端(如 xterm)读取 /dev/ptmx 并在相应的 /dev/pts/X 上启动一个 bash,如果这是真的,那么我应该能够做同样的事情,怎么可能我做到了吗?还是我理解有误?
fork()
一个子进程。打开串行设备或 pseudotty 并将其 dup2()
到 fd 的 0、1 和 2。execv()
你的首选 shell。
-- 真实设备--
假设我在 /dev/ttyACM0 上连接了一条 UART 电缆(电缆的另一端连接了另一台计算机),我如何在 /dev/ttyACM0 上启动 bash 会话] 设备?所以我的另一台计算机将能够执行 bash 命令?
-- 伪终端--
再比如,假设我在设备/dev/ptmx中打开了cutecom或minicom,它会创建一个对应的/dev/pts/X设备。如何在创建的 /dev/pts/X 上启动与 运行 的 bash 会话?
如果我理解正确,bash(或 getty)在真实或伪终端上 运行ning 并不重要。所以我认为 GUI 终端(如 xterm)读取 /dev/ptmx 并在相应的 /dev/pts/X 上启动一个 bash,如果这是真的,那么我应该能够做同样的事情,怎么可能我做到了吗?还是我理解有误?
fork()
一个子进程。打开串行设备或 pseudotty 并将其 dup2()
到 fd 的 0、1 和 2。execv()
你的首选 shell。