linux命令提交任务,Linux命令——任务控制

jobs 列出所有后台任务

& 将任务放到后台执行

Ctrl^Z 暂停当前(前台)任务

suspend 暂停shell

fg 恢复任务(将任务带到前台)

bg 将暂停的任务放到后台继续执行

任务控制(job control)是任何Linux shell都必备的能力,也就是在后台(多任务)与前台(实时现场)运行程序的能力。任务job是shell的工作单位,当你以交互方式下达一个命令,shell就将该命令视为一项任务。当命令结束时,相关的任务也就跟着完成消失了。别将Linux内核的工作单位——进程(process),与shell的任务(job)混为一谈,“任务”是比“进程”更高级的概念:一个任务可能涉及好几个进程,但是一个进程几乎不可能完成一个任务。事实上,Linux内核对“任务”的概念一无所知,真正控制任务的是shell,关于任务控制的几个重要术语,分述如下:

前台任务(foreground job):直接由shell在现场执行的任务,在任务完成之前,提示符不会出现。一个shell每次只能有一个前台任务。

后台任务(background job):由shell于暗地执行的任务,shell不等待后台任务结束,变回立刻再输出提示符,让用户可以继续使用同一个shell。

挂起(suspend):暂时停止前台任务的执行。

恢复(resume):让挂起的任务继续执行

jobs 命令

shell的内置命令,用于勒出当前shell所有未完成的任务:

jobs

……

……

左侧方的数字是任务编号,反括号右侧的 + 符号表示该任务是fg与bg命令会默认影响的任务。

& 命令

在命令行末端加注一个 & 符号,表示要求shell将该命令放到后台去运行。emacs myfile &

…………

shell会输出一个任务编号以及该命令的进程编号(PID),然后立刻输出提示符,不管后台任务是否执行完毕。

Ctrl + Z 命令

当前台任务仍在执行中,提示符还没有输出之前,在shell中按下 Ctrl + Z ,可立即挂起任务。被挂起的任务会暂停运行,其状态会被记录下来,但是不会结束。

$mybigpram

^Z

…………

对于已挂起的任务,可以使用bg将他放到后台继续执行,或是以fg使其恢复到前台执行。

bg [%jobnumber]

shell的内置命令,其作用是将挂起的任务放到后台继续执行。

若没有指定参数,bg作用在最近一次挂起的任务上,若要影响前几次所挂起的特定任务,可以先用jobs命令查出该任务的编号,然后以下列语法来将任务放到后台:

$bg %2

某些类型的交互任务不能留在后台。例如,正在等待你输入数据的任务就不适合放在后台,如果你尝试这样做,shell将挂起该任务,然后告诉你:

[2]+ Stopped command line here

这时候可用fg将该任务拉到前台,使其继续运行。

fg [%jobnumber] shell内置命令,期作用是将挂起的任务或者后台人去拉到前台,使其继续执行。 若没有指定参数,fg作用在最近一次被挂起或者放到后台的任务上,若要影响前几次所挂起的特定任务,可以先用jobs命令查出该任务的编号,然后以下列语法来将任务放到前台: $bg %2

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值