作业管理:&、jobs、fg、bg、kill介绍

作业管理(job control)是在bash环境下使用的,也就是说,当我们登录系统获取bash shell之后,在单一终端界面下,同时管理多个作业。下面分别介绍与作业管理有关的几个常用命令:

一、直接将命令放到后台执行的  "&"
在bash环境下,前台:您可以控制的作业称为前台作业(foreground),后台:在内存可以自行运行的作业,您好无法直接控制他,除非以bg/fg命令把该作业调用出来。

"&" 用法:
#  tar -zpcf /tmp/etc/tar.gz /etc &
[1] 234 <== [job number] PID

#  <==可继续继续工作,不受影响,这就是后台

把当前作业放到后台暂停: [Ctrl] + z ,有些时候我们正在使用vi逻辑一个文件,突然有其它事情,需要切换到bash环境去执行相关命令,喧是我们直接退出vi逻辑环境?当然不需要,我们只需用命令[Ctrl]+z ,然该作业暂停到后台,状态 Stopped .
如:
# vi /etc/profile
#在vi的一般模式下,按下[Ctrl]+z组合键
[1]+ Stopped   /usr/bin/vim /etc/profile
#   <==顺序获取了前台的控制权

二、观察当前后台作业状态:  jobs
如观察当前bash中的所有作业与对应的PID.

# jobs -l
[1]+ Stopped   /usr/bin/vim /etc/profile
[2]- Stopped   /usr/bin/vim /etc/profile.conf


说明:上面的 -l 表示让列表现示作业号的PID,另外(+-)号,(+)号表示默认的作业,如我在bash中输入fg,则[1] 会被自动执行。

三、将后台作业拿到前台处理: fg
# fg %jobnumber

我们可先用上面介绍的jobs -l命令查询目前所有的作业号,然后再执行fg %jobnumber命令。应能够将后台作业拿到前台来处理。

四、让作业在后台运行: bg
我们刚才介绍了用[Ctrl]+z可以让当前作业放到后台去"暂停",那么,现在我们可以让一个作业在后台运行。
如:
# find / -perm +7000
#此时,请立刻按下[ctrl]+z暂停。
[1]+ Stopped   #find / -perm +7000

#然后让它在后台运行

# bg %1

五、管理后台作业:kill
有时我们不想让一个作业再继续运行了,这时我们可以向系统发一个signal,来kill这个作业,
# kill -signal %jobnumber
常用参数:
-9:  立刻强制删除一个作业
-15:以正常的程序方式终止一项作业,与-9是不一样的。


# jobs
[1]+ Stopped   vim bashrc
# kill -9 %1
[1]+ 终止    vim bashrc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值