Linux的作业控制
- 前台作业:通过终端启动,且启动后一直占据终端
- 后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)
让作业运行于后台
- 运行中的作业: Ctrl+z
- 尚未启动的作业: COMMAND &
后台作业虽然被送往后台运行,但是他依然和本终端相关;如果我们退出终端,就会关闭后台作业。如果我们能够送往后台
后,剥离与本终端的关系那么就可以不用担心了
- nohup COMMAND &>/dev/null &
- screen;COMMAND
- tmux;COMMAND
查看当前终端所有作业:
jobs
作业控制:
fg [[%]JOB_NUM]:把指定的后台作业调回前台
bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行
kill [%JOB_NUM]: 终止指定的作业
并行运行
利用后台执行,实现并行功能,也就是同时运行多个进程,提高效率
方法1
cat all.sh
f1.sh&
f2.sh&
f3.sh&
方法2
(f1.sh&);(f2.sh&);(f3.sh&)
方法3
f1.sh&f2.sh&f3.sh&
范例:多组命令实现并行
[root@centos8 ~]#{ ping -c3 127.1; ping 127.2; }& { ping -c3 127.3 ;ping 127.4;
}&