在有些情况下,我们不希望自己的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

转载:trap 的用法 /etc/init.d/rcS trap :1 2 3 24的更多相关文章

  1. 解决:cant't run '/etc/init.d/rcS':No such file or directory

    Linux内核启动时提示这种错误:cant't run '/etc/init.d/rcS':No such file or directory 请用vim打开文件:/etc/init.d/rcS 观察 ...

  2. [转载] C++ typedef 用法详解

    typedef的语法描述 在现实生活中,信息的概念可能是长度,数量和面积等.在C语言中,信息被抽象为int.float和 double等基本数据类型.从基本数据类型名称上,不能够看出其所代表的物理属性 ...

  3. [转载]typedef常见用法

    注:本文系转载,并修改了一些错误. typedef常见用法 1.常规变量类型定义 例如:typedef unsigned char uchar描述:uchar等价于unsigned char类型定义 ...

  4. 转载 AutoFac常见用法总结

    第二节:框架前期准备篇之AutoFac常见用法总结   一. 说在前面的话 凡是大约工作在两年以上的朋友们,或多或少都会接触到一些框架搭建方面的知识,只要一谈到框架搭建这个问题或者最佳用法这个问题,势 ...

  5. 转载 NPOI.dll 用法。单元格,样式,字体,颜色,行高,宽度。读写excel

    我用的版本是1.25的.每个版本用法有一点不同 using System; using System.Collections.Generic; using System.ComponentModel; ...

  6. 【转载】Adapter用法总结大全

    下面的是看到的比较好的地址: Android各种Adapter的用法:                 http://my.oschina.net/u/658933/blog/372151 Andro ...

  7. (转载)http_build_query用法,挺方便的

    (转载)http://www.cnblogs.com/zhja/archive/2012/11/10/2764174.html http_build_query (PHP 5) http_build_ ...

  8. [转载]关于generate用法的总结【Verilog】

    转载自http://www.cnblogs.com/nanoty/archive/2012/11/13/2768933.html Abtract generate语句允许细化时间(Elaboratio ...

  9. [转载]Oracle触发器用法实例详解

    本文实例讲述了Oracle触发器用法.分享给大家供大家参考,具体如下: 一.触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行. 因此触发器不需要人为的去调用,也 ...

随机推荐

  1. 《机器学习实战-KNN》—如何在cmd命令提示符下运行numpy和matplotlib

    问题背景:好吧,文章标题是瞎取得.平常用cmd运行python代码问题不大,我在学习<机器学习实战>这本书时,发现cmd无法运行import numpy as np以及import mat ...

  2. juniper常用命令(二)

    Juniper防火墙基本命令 常用查看命令 Get int查看接口配置信息 Get int ethx/x查看指定接口配置信息 Get mip查看映射ip关系 Get route查看路由表 Get po ...

  3. showModalDialog改进版,包括Chrome下的特殊处理

    父页面: if(window.ActiveXObject){ //IE          $("#choose_entp").click(function(){           ...

  4. jprofile查看hprof文件[转]

    用jprofile打开hprof文件,查看内存泄露情况,有几个常用的功能说明一下: 工具下载:到官网下载jprofile7.0.1 64位的.再申请一个注册号,注册号的申请好像是一个邮件只能用一次. ...

  5. wareshark网络协议分析之ARP

    一.ARP协议简介 简单的说ARP协议就是实现ip地址到物理地址的映射.当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit的以太网地址(物理地址)来确定网络接口的. ARP ...

  6. audiojs 音频插件使用教程

    audiojs 音频插件使用教程 github地址 https://kolber.github.io/audiojs/ 依赖文件 <script src="https://cdn.bo ...

  7. jedis的源码理解-基础篇

    [jedis的源码理解-基础篇][http://my.oschina.net/u/944165/blog/127998] (关注实现关键功能的类)   基于jedis 2.2.0-SNAPSHOT   ...

  8. Javascript-理解事件总结

    事件 [事件流]表述的是从页面接收事件的顺序.1.事件冒泡流:事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点(文档).所有浏览器都支持.2.事件捕获:与事件冒泡相反,事件捕获的用意在 ...

  9. idea更换git地址操作

    更换地址: git remote set-url origin XXXXXXXXXXXXXXX 查看远程地址: git remote -v

  10. Hibernate Validator验证框架中@NotEmpty、@NotBlank、@NotNull 的区别

    Hibernate Validator验证框架中@NotEmpty.@NotBlank.@NotNull的主要使用情况 @NotEmpty  用在集合类上面 @NotBlank   用在String上 ...