1

我正在研究移动终端的代码,它是 iPhone 的命令行。这些项目模拟 VT100 终端。我可以监视通过终端的所有内容(ascii 和控制字符),但我无法弄清楚终端如何知道命令完成了它的输出。终端如何知道何时再次显示提示?每个命令在结束时都会发送一个特殊的控制字符吗?

4

1 回答 1

0

对我来说,这听起来像是在终端中运行shell,因为 VT100 不显示提示(AFAIK)。

shell 创建一个子进程并在那里执行命令。然后,shell 只是等待这个子进程完成,然后再次打印它的提示符。

一个例外是当命令在后台运行时 ( some_command &),shell 不会等待子进程退出并立即再次打印提示。

于 2011-07-06T10:55:22.570 回答