https://jingyan.baidu.com/article/b907e6278fbd8946e7891c17.html
============================================================
linux下和windows下的任务控制不一样,
windows一般使用任务管理器进行管理
而linux下可以通过一系列的任务命令来控制,
主要包含:
bg,fg,jobs,kill,wait,disown,suspend.
下面就对这些命令进行简单的介绍
任务控制
-
bg
bg [jobspec…]
恢复每一个描述为jobspec的后台任务,就是通过“&”启动的任务。
如果没有jobspec,当前的任务就会被使用。
-
fg
fg [jobspec]
恢复描述为jobspec的任务到前台,使他成为当前任务,
如果没有jobspec,当前的任务就会被使用。
例子:使用fg,就会将top重新恢复到前台
-
jobs
格式
jobs [-lnprs] [jobspec]
jobs -x command[arguments]
jobs主要的功能就是列举出活动的任务
-l 列举任务的ID等内容
-p 列举任务的PID
-r -s 分别是列举运行的和停止的任务。
-
kill
kill [-ssigspec] [-nsignum] [-sigspec]jobspec or pid
kill -l|-L [exit_status]
kill 就是杀死对应的任务,可以通过jobspec 或者pid都可以
-
wait
wait [-n] [jobspecorpid…]
wait 会保证所有的子任务(进程)都结束了,才会退出主进程。
所以一般脚本如果执行有多个任务,使用wait就可以保证子任务的运行。
-
disown
disown [-ar] [-h] [jobspec… |pid… ]
从活动任务表里移除每一个jobspec的任务
-
suspend
suspend [-f]
挂起任务当前shell的执行,直到等到接受SIGCONT信号。