欢迎 marulin 加入本站!
 免费注册  用户登陆  汇款方式  汇款确认  产品报价  联系我们  帮助中心
加入收藏
设为首页
会员体系
申请VIP
网站首页 光盘超市 软件下载 技术文章 专题 用户中心 VIP会员 技术论坛 网站留言 娱乐中心 卓越资源
今天是:2008年11月21日 星期五  您现在位于: 首页 → 技术文章 → trap命令的用法
   trap命令的用法
作者:linuxyang.cublog.cn  出处:linuxyang.cublog.cn  更新时间: 2007年04月09日 

在有些情况下,我们不希望自己的shell脚本在运行时刻被中断,比如说我们写得shell脚 
本设为某一用户的默认shell,使这一用户进入系统后只能作某一项工作,如数据库备份, 我 
们可不希望用户使用ctrl+C之类便进入到shell状态,做我们不希望做的事情。这便用到了信号 
处理。 

kill -l可以列出系统的信号名称,如下: 
-bash-3.00# kill -l 
1) SIGHUP    2) SIGINT    3) SIGQUIT   4) SIGILL 
5) SIGTRAP   6) SIGABRT   7) SIGBUS    8) SIGFPE 
9) SIGKILL   10) SIGUSR1   11) SIGSEGV   12) SIGUSR2 
13) SIGPIPE   14) SIGALRM   15) SIGTERM   17) SIGCHLD 
18) SIGCONT   19) SIGSTOP   20) SIGTSTP   21) SIGTTIN 
22) SIGTTOU   23) SIGURG   24) SIGXCPU   25) SIGXFSZ 
26) SIGVTALRM  27) SIGPROF   28) SIGWINCH  29) SIGIO 
30) SIGPWR   31) SIGSYS   34) SIGRTMIN  35) SIGRTMIN+1 
36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 
40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 
44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 
52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 
56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 
60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 
64) SIGRTMAX 
-bash-3.00# 
通常我们需要忽略的信号有四个,即:HUP, INT, QUIT, TSTP,也就是信号1, 2, 3, 24 
使用这样的语句可以使这些中断信号被忽略: 
trap "" 1 2 3 24 或 trap "" HUP INT QUIT TSTP 
用 trap :1 2 3 24 或 trap HUP INT QUIT TSTP使其回复默认值。 
用stty -a可以列出中断信号与键盘的对应,分别执行上面的命令后,运行 
tail -f /etc/passwd, 然后尝试用键盘中断,试试两种情况(默认和忽略)下有何不同。 
更方便的是我们可以用在shell中用trap定义我们自己的信号处理程序,就象在c中用 
signal一样, 

如:trap “echo 'GO Away'” INT 
 
 
 (本文已被浏览 7114 次)
 发布人:sdccf
 → 推荐给我的好友
上篇文章:MYSQL集群服务配置
下篇文章:用grep搜索文本文件
 相关文章:
使用命令trap来捕捉信号 监控cpu运行进程的shell
守住Unix管理大门—trap命令的使用

相关搜索
查看百度中关于trap命令的用法的更多内容
查看google中关于trap命令的用法的更多内容
   文章分类
操作系统 |
SCO_UNIX  Sun_Solaris  IBM_AIX  HP_UX  Linux  BSD  Tru64_UNIX 
通用UNIX知识  Windows  Minix 
程序设计 |
Shell编程  C/C++  汇编  PHP  JAVA  Perl  Python 
ASP/HTML  XML  中间件 
数据库 |
Oracle  Informix  Sybase  Fox  DB2  SQL  MySQL 
PostgreSQL 
网络应用 |
网络应用 
计算机硬件 |
计算机主机  打印机  路由器  交换机  终端  磁带机  MO 
刻录机  终端服务器  调制解调器 
   文章评论
  → 评论内容 (点击查看)   共0条评论,每页显示5条评论   浏览所有评论
(没有相关评论)
  → 发表我的评论
您的姓名: 您的Email:
评论内容:
250字内
发表评论:      发表评论须知 →
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  • 关于我们 ┋  网站留言 ┋  网站地图 ┋  友情链接 ┋  与我在线 ┋  汇款确认 ┋  管理 ┋  TOP
    Linux.Unix爱好者家园  http://www.unix-cd.com/
    联系我们:sdccf@163.com
    腾讯QQ: 7644599
    备案序号:鲁ICP备05000455号
    Copyright (c) 2001-2008 Unix-cd.com. All Rights Reserved.