前后台进程¶
到目前为止,你的 shell 在启动下一个程序之前需要等待之前的命令完成。许多 shell 允许你通过在命令行末尾放置 & 来在后台运行命令。后台程序启动后,shell 允许你启动更多进程而无需等待后台进程完成。
使你的 shell 支持 ls &
的语法。与此同时还需要增添一个新的内置命令 wait
,作用是等待所有后台命令终止。
大多数 shell 也允许子进程在前台运行和后台运行之间切换。可以添加两个内置命令来支持这一点:
fg [pid]
将指定
pid
的进程移到前台。如果未指定 pid,则将最近启动的进程移至前台。
bg [pid]
恢复暂停的后台进程。如果未指定
pid
,则恢复最近启动的进程。
要求 | 满分 |
---|---|
后台程序运行 | 10% |
实现 wait 命令 | 10% |
「可选」实现 fg 和 bg 命令 | 10% |