Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在研究移动终端的代码,它是 iPhone 的命令行。这些项目模拟 VT100 终端。我可以监视通过终端的所有内容(ascii 和控制字符),但我无法弄清楚终端如何知道命令完成了它的输出。终端如何知道何时再次显示提示?每个命令在结束时都会发送一个特殊的控制字符吗?
对我来说,这听起来像是在终端中运行shell,因为 VT100 不显示提示(AFAIK)。
shell 创建一个子进程并在那里执行命令。然后,shell 只是等待这个子进程完成,然后再次打印它的提示符。
一个例外是当命令在后台运行时 ( some_command &),shell 不会等待子进程退出并立即再次打印提示。
some_command &