《学习bash》笔记--进程处理

本文详细介绍了Bash shell中的进程处理,包括进程ID和作业编号、作业控制(前台和后台操作、挂起作业)、信号处理(控制键信号、kill命令、trap和进程ID变量)以及子shell的使用(继承和嵌套)。通过学习,你可以掌握如何在Bash中有效地管理和控制进程。
摘要由CSDN通过智能技术生成

1.进程ID和作业编号

 当通过附加&号后运行命令时,shell会响应如下:

$ ls &
[1] 3318
其中[1]是作业号,3318是进程号。
一个后台进程完成时,shell会给出作业编号信息,如下:
[1]+  Done                    ls --color=auto
如果作业以非0状态退出时,shell指出其退出状态。

2.作业控制

作业编号可以使它们在shell命令中进行作业控制。一旦作业在后台运行,你可以让它一直运行,或把它放到前台,或向其发送信号。

2.1.前台和后台

内置fg命令将后台作业放到前台。使用不带参数的fg,shell会把后台作业放到前台,如果有多个作业在后台,shell会挑出最新在后台
运行作业放到前台。如果想要将其他作业放到前台,需要给出前面加上百分号%的作业命令,或者使用作业编号前面加百分号%,也
可以是不带百分号的进程ID。可以使用命令jobs列出后台作业。
例如:
yanwenjie@ywjpc:~/ctest$ ./a &
[1] 3481
yanwenjie@ywjpc:~/ctest$ ./b &
[2] 3482
yanwenjie@ywjpc:~/ctest$ ./c &
[3] 3483
yanwenjie@ywjpc:~/ctest$ jobs
[1]   Running                 ./a &
[2]-  Running                 ./b &
[3]+  Running                 ./c &
-p选项只列出进程号:
$ jobs -p
3481
3482
3483
如果键入fg,会把c放到前台,因为它是最新在后台运行的作业。
如果键入fg %b,或者fg %2,b会进入前台。
还可以通过%+引用被放到后台的最新作业,通过%-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值