深入探索作业与进程管理及命令替换技巧
1. 恢复停止和后台作业
1.1 基本操作
在使用终端时,按下 Ctrl-z 可以停止当前正在运行的作业,并返回 shell 提示符。之后,输入 bg %num (其中 num 是 jobs 命令所显示的作业编号),作业将在后台继续运行。
无论是作业处于停止状态还是在后台运行,都可以使用 fg 命令将其重新调至前台。此时,该作业的表现就如同从未被停止或置于后台一样。当作业在前台运行时,它将控制终端,像 Ctrl-z 或 Ctrl-c 这样的组合键总是会影响前台作业。
这种操作方式在使用文本编辑器时非常常见。许多 Unix 用户会让文本编辑器一直在后台运行,当需要使用时,运行 fg 命令将其调至前台;当需要执行其他命令时,按下 Ctrl-z 回到 shell 提示符。不过,如果文本编辑器在单独的窗口中运行,这种操作就没有必要了。
1.2 特殊情况处理
如果命令是在 shell 内部运行,情况会稍微复杂一些。例如,zsh 会将 shell 函数视为一个独立的命令,因此可以停止函数并将其置于后台,但无法将其重新带回启动它的 shell 中。使用 fg 可以将其调至前台,但它会作为一个独立的进程继续运行,本质上是一个子 shell。而 bash 目前没有这个功能。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



