概念
在Linux的shell中运行一个程序时,这个程序就可以看成是一个作业,shell可以分前后台控制作业
一个正在执行的进程可以称为一个作业,一个作业可以包含多个进程
一个前台只能运行一个进程组或者一个作业,而一个后台可以运行多个进程组和多个作业
作业控制是一个命令行功能,允许一个shell 实例来运行和管理多个命令。如果没有作业控制,父进程fork()一个子进程后,将sleeping,直到子进程退出。使用作业控制,可以选择性暂停,恢复,以及异步运行命令,让 shell 可以在子进程运行期间返回接受其他命令
作业控制命令
一、&
- 用在命令的最后,将一个程序放到后台执行
二、Ctrl+z
- 将一个正在前台执行的作业放到后台去,并且暂停
三、jobs
- 查看后台作业
四、fg
- 将后台的作业调回前台
语法
fg %# //#为作业号
五、bg
- 将一个在后台暂停的作业继续执行,并且输出在前台,被bg命令作用的作业只是在前台显示,并不是在前台执行,不能用Ctrl+c终止,需要用fg命令将其调回前台才可用Ctrl+c进行终止
语法
bg %# //#为作业号