LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 717|回复: 4

bash下的trap疑问

[复制链接]
发表于 2004-7-22 13:45:08 | 显示全部楼层 |阅读模式
一下是一个测试trap的shell教本:

trap "echo 'You press Control-Z'" TERM
trap "echo 'You press Control-c'" INT

while true; do
    sleep 10
done


想来屏蔽TERM信号,但是按下Control-Z是,并不是输出“You press Control-Z”,程序象没有使用trap一样挂起了,而且TERM信号是用Control-Z绑定的
发表于 2004-7-22 13:52:42 | 显示全部楼层
ctrl+Z的信号是
20   TSTP Stopped        
用kill -l列出你自己系统上的信号列表,因为kill的输出会因为OS的不同而不同
信号列表可参考:
http://www.linuxsir.cn/bbs/showt ... =%D0%C5%BA%C5%B1%ED
一个比较典型的例子:
http://www.linuxsir.cn/bbs/showthread.php?threadid=29701 <<锁定控制台的一个脚本>>
 楼主| 发表于 2004-7-22 14:00:36 | 显示全部楼层
rh linux 9.0,kernel2.4.20
TSTP信号不就是TERMINATOR STOP吗,也就是kill命令默认的信号,TSTP和TERM应该是表示同一个信号,而且我用TSTP就会显示错误
而且我已经吧TERM和Ctrl-Z绑定了
发表于 2004-7-22 17:19:42 | 显示全部楼层
最初由 wangq1979 发表
rh linux 9.0,kernel2.4.20
TSTP信号不就是TERMINATOR STOP吗,也就是kill命令默认的信号,TSTP和TERM应该是表示同一个信号,而且我用TSTP就会显示错误
而且我已经吧TERM和Ctrl-Z绑定了

用kill -l列出你系统上的信号表,看看他们是否一样?
发表于 2004-7-22 17:30:26 | 显示全部楼层
最初由 wangq1979 发表
rh linux 9.0,kernel2.4.20
TSTP信号不就是TERMINATOR STOP吗,也就是kill命令默认的信号,TSTP和TERM应该是表示同一个信号,而且我用TSTP就会显示错误
而且我已经吧TERM和Ctrl-Z绑定了

TERM信号似乎不能被捕捉。
stty -a看看你的^Z是什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表