linux基础四之任务管理

任务管理:

任务管理(job control)是用在bash环境下的,也就是说在我们登陆系统获取bash shell之后,在单一终端下同时执行多个任务的操作管理。

什么是任务管理:

执行任务管理的操作中,其实每个任务都是目前bash的子进程,即彼此之间是有相关联性的,我们无法用任务管理的方式由a的环境去管理b的bash。

假设我们现在只有一个终端,因此可以出现提示字符让你操作的环境成为前台,至于其他任务可以放在后台去暂停或者执行,需要注意的是放入后台执行的任务是不可以使用ctrl+c来终止的。

要执行bash的任务管理必须要要注意的是:

①:这些任务所触发的进程必须来自于你shell的子进程

②:前台,可以控制与执行命令的这个环境成为前台的任务

③:后台,可以自动执行的任务,你无法使用ctrl+c终止,可以使用bg,fg调用该任务

④:后台中执行的进程不能等待terminal或者shell的输入

job control的管理

①:直接将命令丢到后台中【执行】的 &

像我们之前提到的,如果只有一个bash的环境,如果想要执行多个任务,可以将某些任务直接丢到后台环境中,让我们可以继续操作前台的任务,那么如何将任务丢到后台中呢,最简单的方式是利用【&】这个符号,如下:

将 /data备份到 /tmp/test.tar.gz【在后台中执行】,&这个符号就代表将任务丢到后台执行

tar -zpcf /tpm/test.tar.gz /data &

需要注意的是:如果执行使用上述命令,在任务完成或者其他情况下,会在屏幕上输出该任务的结果,如果后台任务很多,会导致屏幕很乱,这时候我们就可以使用数据流重定向,将该任务的输出数据重定向到指定文件中!!!,如下:

tar -zpcf /tpm/test.tar.gz /data  > /tmp/test.log 2>&1 &

②:将目前的任务丢到后台中暂停:  ctrl + z

例如,我们正在使用vim编辑某个文件,那么这个时候如果我们想去前台操作一下某个文件,是否要结束vim呢?也是不需要的,你可以执行使用 ctrl + 组合键,将vim丢到后台中等待,默认情况下,使用ctrl + z丢到后台中的任务都是出于暂停状态

③:查看目前后台任务状态:jobs

jobs [-lrs]

-l  : 除了列出job number与命令串之外,同时列出PID的号码
-r  :仅列出正在后台run的任务
-s  :仅列出正在后台当中暂停【stop】的任务

“+” 代表当前默认使用的任务,也就是最后被放到后台中任务号码

④:将后台任务拿到前台来处理  fg

我们在上述②中提到可以将任务暂停放到后台,那么我们如何将暂停的任务唤醒,再次继续操作呢???????

fg %jobnumber

%jobnumber: jobnumber为任务号码(数字),如③中的[1]或[3], %是可有可无的

如果你直接使用fg,而没有指定号码,那么会把号码+代表的任务拿到前台来,同样的,你也可以输入fg -,那么“-”对应的任务会被拿到前台来

⑤:让任务在后台下的状态变成运行中

bg %jobnumber


%jobnumber: jobnumber同样为任务号码

⑥:管理后台当中的任务 kill

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值