bash 信号

当bash是互动的,在没有任何陷阱,它忽略SIGTERM(这样杀0不能杀死一个交互式的shell)和SIGINT被捕获并处理(从而使内建命令wait是可中断)。在所有情况下,bash忽略SIGQUIT.如果作业控制是有效,bash忽略SIGTTIN,SIGTTOU,和SIGTSTP.

bash所运行非内建命令必须设置为从父shell继承的值信号处理程序。当作业控制不生效,异步命令忽略SIGINT和SIGQUIT除了这些继承处理。命令作为命令替换的结果忽略键盘产生的作业控制信号SIGTTIN,SIGTTOU,SIGTSTP.

shell在收到SIGHUP的退出默认。在退出前,交互的shell发送SIGHUP所有作业,运行或停止。已停止作业发送SIGINT,以确保他们收到SIGHUP。为了防止shell从信号发送到特定的工作,应该从与不认内置的作业表中删除(参见下面的shell内建命令)或标记使用不认-h不接收SIGHUP。

如果bash等待命令完成并接收其陷阱已设置的信号,陷阱将不会被直到命令完成执行。
当bash经由等待内建,为此陷阱已设置将导致等待内建到的信号的接收等待异步命令立即退出状态大于128,之后立即被执行陷阱返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值