跳转至

前后台进程

到目前为止,你的 shell 在启动下一个程序之前需要等待之前的命令完成。许多 shell 允许你通过在命令行末尾放置 & 来在后台运行命令。后台程序启动后,shell 允许你启动更多进程而无需等待后台进程完成。

使你的 shell 支持 ls & 的语法。与此同时还需要增添一个新的内置命令 wait,作用是等待所有后台命令终止。

大多数 shell 也允许子进程在前台运行和后台运行之间切换。可以添加两个内置命令来支持这一点:

fg [pid]

将指定 pid 的进程移到前台。如果未指定 pid,则将最近启动的进程移至前台。

bg [pid]

恢复暂停的后台进程。如果未指定 pid,则恢复最近启动的进程。

要求 满分
后台程序运行 10%
实现 wait 命令 10%
「可选」实现 fg 和 bg 命令 10%