jobs命令查看当前终端作业,bg将暂停的作业放到后台运行,fg将作业调至前台;例如用Ctrl+Z暂停后可分别用bg或fg恢复,配合作业号%1等操作更精准,适用于多任务处理,但作业随会话结束而终止。
在linux命令行中,jobs、bg和fg是用于管理后台作业的常用命令。它们帮助用户查看、暂停、恢复和切换正在运行的任务,特别是在使用终端进行多任务处理时非常实用。
jobs:查看当前终端中的作业
执行jobs命令可以列出当前shell会话中所有已启动的作业(包括前台和后台进程)及其状态。
常用选项:
- jobs:显示当前shell的所有作业
- jobs -l:显示作业及其对应的进程ID(PID)
- jobs %n:仅显示指定作业号(如%1)的信息
输出示例:
[1] + suspended vim todo.txt [2] - running sleep 300 &
其中方括号中的数字是作业号,“+”表示最近使用的作业,“-”表示次近使用的作业。状态可能是 running、suspended、done 等。
bg:将作业放到后台继续运行
当你按下 Ctrl+Z 暂停一个前台进程后,可以使用 bg 命令让它在后台继续执行。
基本用法:
- bg:恢复最近暂停的作业到后台运行
- bg %1:恢复指定作业号(如%1)到后台运行
例如:
$ sleep 600 ^Z [1]+ Stopped sleep 600 $ bg %1 [1]+ sleep 600 &
此时sleep命令在后台继续运行,不会阻塞终端。
fg:将作业调到前台运行
fg 命令用于将后台或暂停的作业恢复到前台继续执行。
常见用法:
- fg:恢复最近一个作业到前台
- fg %2:将作业号为%2的进程调至前台
例如你有多个暂停的任务:
$ jobs [1]- Stopped vim draft.md [2]+ Stopped python3 server.py $ fg %1 vim draft.md
这时vim会在前台恢复,你可以继续编辑文件。
实际使用场景与技巧
这些命令常用于以下情况:
- 临时中断一个长时间运行的命令(如编辑器、下载任务),先做别的事
- 把忘记加&的命令先Ctrl+Z暂停,再用bg放后台
- 在多个任务之间快速切换(如调试程序和查看日志)
注意:这些作业只属于当前shell会话。如果关闭终端,未完成的作业通常会被终止。若需长期后台运行,建议结合nohup或使用screen/tmux工具。
基本上就这些。掌握jobs、bg、fg能显著提升你在终端下的工作效率,尤其适合喜欢纯命令行操作的用户。不复杂但容易忽略细节,比如作业编号和前后台切换时机。熟练之后,多任务处理会更得心应手。
评论(已关闭)
评论已关闭