1. 将任务进行前台后台的切换 <br /> 可以控制进程运行或者停止 <br /> 作业控制是一个命令行功能,允许一个shell实例来运行和管理多个命令 <br /> 如果没有作业控制,父进程fork()一个子进程后,将sleeping,直到子进程退出 <br /> 使用作业控制,可以选择性暂停,恢复,以及异步运行命令,让shell可以在子进程运行期间返回接受其 他命令 <br />![PA2YAXO79_]@Z~M_KH@2}Y6.png](https://cdn.nlark.com/yuque/0/2021/png/21363636/1622603510251-7835b71a-4816-4d63-a8ae-f77d0a19153f.png#clientId=uf4e667f3-e66b-4&from=drop&id=u4258c03b&margin=%5Bobject%20Object%5D&name=PA2YAXO79_%5D%40Z~M_KH%402%7DY6.png&originHeight=259&originWidth=814&originalType=binary&size=25759&status=done&style=none&taskId=u55a4669a-a8e0-4531-a5fa-9e8b1445261)<br />**foreground:**前台进程是在终端中运行的命令,该终端为进程的控制终端。前台进程接受键盘产生的输入和信号,并允许从终端读取或写入到终端<br />**background:**后台进程没有控制终端,它不需要终端的交互
    1. [root@xwz ~]# sleep 3000 & # 运行程序(时),让其在后台执行
    2. [3] 10367
    3. [root@xwz ~]# sleep 4000 # ^Z,将前台的程序挂起(暂停)到后台
    4. [root@xwz ~]# ps aux |grep sleep
    5. root 10367 0.0 0.0 107952 620 pts/1 S 09:57 0:00 sleep 3000
    6. root 10376 0.0 0.0 107952 616 pts/1 T 09:57 0:00 sleep 4000
    7. [root@xwz ~]# jobs # 查看后台作业
    8. [1]- 运行中 sleep 3000 &
    9. [2]+ 已停止 sleep 4000
    10. [root@xwz ~]# bg %2 # 让作业2在后台运行
    11. [2]+ sleep 4000 &
    12. [root@xwz ~]# jobs
    13. [1]- 运行中 sleep 3000 &
    14. [2]+ 运行中 sleep 4000 &
    15. [root@xwz ~]# fg %1 # 将作业1调回到前台
    16. sleep 3000
    17. ^Z
    18. [1]+ 已停止 sleep 3000
    19. [root@xwz ~]# kill %1 # 终止作业1
    20. [1]+ 已停止 sleep 3000
    21. [root@xwz ~]# jobs
    22. [1]+ 已终止 sleep 3000
    23. [2]- 运行中 sleep 4000 &
    24. [root@xwz ~]# (while :; do date; sleep 2;done) & # 输出在前台
    25. [root@xwz ~]# (while :; do date; sleep 2;done) &>/dev/null & # 无输出内容

    管理远程主机

    1. [root@xwz ~]# yum install -y screen
    2. # 开启一个新的终端
    3. [root@xwz ~]# screen
    4. # 开启一个新的终端并指定名称
    5. [root@xwz ~]# screen -S 'test1'
    6. # 离开终端
    7. # ctrl+a+d
    8. # 列出所有终端列表
    9. [root@server1 ~]# screen -list
    10. # 连接上指定的终端
    11. [root@server1 ~]# screen -r [ID]