Shell 内置命令 fg
(foreground 的缩写)。它用于将后台挂起的任务恢复到前台运行。
例如:
- 假设你运行了一个耗时的 SVN 操作(如
svn update
或svn checkout
)。 - 按下
Ctrl+Z
将该进程挂起到后台。 - 输入
fg
即可让该进程回到前台继续执行。
Shell 内置命令 bg(background 的缩写)。它用于将任务放在后台运行。
Shell 内置命令jobs
,用于查看和管理当前 Shell 会话中的后台任务或被挂起的任务(例如通过 Ctrl+Z
暂停的任务)
特性 | jobs | bjobs |
---|---|---|
所属系统 | Linux/Unix Shell 内置命令 | LSF(集群作业调度系统)命令 |
管理对象 | 当前 Shell 的本地任务 | 提交到集群的计算作业 |
任务类型 | 终端直接启动的后台/暂停任务 | 需要调度系统分配资源的计算任务 |
依赖环境 | 无需额外配置,所有 Shell 均支持 | 需部署 LSF/Slurm 等集群调度系统 |
输出信息 | 作业编号、PID、状态、命令 | 作业 ID、状态、队列、资源占用、节点等 |
典型场景 | 终端内调试、暂停/恢复脚本或命令 | 高性能计算(HPC)、批量任务调度 |
关键区别
-
jobs
管理的是本地 Shell 进程(如你手动启动的任务),仅影响当前终端。 -
bjobs
管理的是集群计算作业(如科学计算、大数据任务),涉及分布式资源调度。
常见误解
- 在未安装 LSF/Slurm 的机器上运行
bjobs
会报错:command not found
。 - 集群作业的状态(如
PEND
、RUN
、DONE
)需要通过bjobs
查看,而 jobs
对此类作业完全不可见。
如果你在集群环境中工作,通常需要同时使用两者:
- 用
jobs
管理本地终端的临时任务。 - 用
bjobs
监控提交到集群的重型计算作业。