我们使用Linux时大多数是用shell命令行。一个命令终端不能直接执行多任务。但我们可以把某个任务先切到后台,再切别的任务到前台来操作。以下是几个任务操作的常用的命令。
在后台启动任务
我们只需要在命令后面加上一个&就能让任务启动后直接在后台跑。
代码语言:javascript复制sleep 100 &
移动前台任务到后台
如果我们已经让任务在前台运行,但不想退出重跑。就可以按下ctrl z
,将任务移到后台并暂停,让后让它在后台运行。
注意: ctrl z
只是第一步,此时任务会被暂停。
想让它继续在后台运行的话,需要下一个命令。
继续执行后台暂停的任务
bg
命令能将一个在后台暂停的命令,变成继续执行
移动后台任务到前台
这要用到fg
命令,让任务回到前台运行。
bg
命令和fg
命令是一对兄弟。一个是让任务后台继续执行,一个是让任务移动到前台。
查看后台进程
jobs是用于后台进程查看的命令。除了可以显示出进程的pid等信息,还显示了%jobnumber
,%jobnumber
是后台正在执行的命令的序号(不是pid)。。
[root@x64 ~]# jobs -l
[1] 18409 Stopped sleep 10
[2] 18415 Stopped sleep 10
jobnumber的作用
如果bg
,fg
想操作指定某个job,就需要先用jobs
查出对应的jobnumber
,再将jobnumber
作为命令行参数。
比如让第一个进程继续在后台运行。
bg 1
fg
命令用法一样。
暂停指定任务
注意: 这个命令中的数字是PID
。
kill -STOP 18009
暂停后,依然可以用上面两个命令恢复运行。