trap command  signal

trap捕获信号(软中断),command一般是linux命令 若为' '表示发生陷阱时为空指令,'-'表示发生陷阱时采用缺省指令

signal:

HUP(1) 挂起;一般因终端掉线或用户退出而引发

INT(2)中断;一般因按下"Ctrl+C"组合键引发

QUIT(3) 退出;一般因按下"Ctrl+\"组合键引发

ABRT(6) 异常终止;一般因某些严重的执行错误而引发

ALRM(14) 闹钟;一般是超时时钟到来而引发

TREM(15) 终止;一般是由系统在关机时发出

trap只是对信号的操作进行关联(安装信号)

  1 #! /bin/bash
2
3 trap "rm -f tmp$$;exit 0" 2 3 #$$表示的是当前进程号,捕获2,3号信号
4 touch tmp$$
5 sleep 60

下面看一个锁屏程序:

  1#! /bin/bash
2
3 trap "nice_try" 2 3 15
4 TTY=`pwd`
5
6 nice_try()
7 {
8 echo -e "\nNice try,the terminal stays locked"
9 }
10
11 #stty -echo #输入的密码不回显
12
13 echo -n "Enter your password to lock $TTY: "
14 read PASSWORD
15 clear
16 echo -n "Enter you password to unlock $TTY: "
17 while :
18 do
19 read RESPONSE
20 if [ "$RESPONSE" = "$PASSWORD" ];then
21 echo "unlocking..."
22 break
23 fi
24 clear
25 echo "wrong password and terminal is locked..."
26 echo -n "Enter your password to unlock $TTY: "
27 done
28
29 #stty echo          #恢复回显

最新文章

  1. mysql中event的用法详解
  2. NEFU 561 方块计算
  3. Microsoft SQL Server,错误: 229 解决方案
  4. UVALive 5903 Piece it together(二分图匹配)
  5. Codeforces Round #366 Div.2[11110]
  6. iOS——百度统计
  7. encodeURIComponent编码2次
  8. Fedora 21 中添加及更新源的命令
  9. [Firebase] Deploy you website to Firebase
  10. CSS美化页面滚动条
  11. PL/SQL 游标的使用
  12. 跨web浏览器的IC卡读卡器解决方案
  13. 【SAP HANA】新建账户和数据库(2)
  14. js电子表
  15. (三)类数组对象 NamedNodeMap简单介绍
  16. ue4 socket
  17. DELPHI中完成端口(IOCP)的简单分析(3)
  18. python版 mapreduce 矩阵相乘
  19. Python中的基本数据类型的区别
  20. set函数&操作

热门文章

  1. python练习三角形,99乘法
  2. 基于Python的接口自动化实战-基础篇之读写配置文件
  3. BOOST库 消息队列
  4. linux(centos8):阿里云ecs配置smtps发邮件(解决不能通过25端口发邮件问题)
  5. 【应用服务 App Service】当遇见某些域名在Azure App Service中无法解析的错误,可以通过设置指定DNS解析服务器来解决
  6. java8中哪个类用到了开放地址解决冲突
  7. nginx负载均衡常见问题配置信息
  8. D. Equalize the Remainders 解析(思維)
  9. D. Maximum Distributed Tree 解析(思維、DFS、組合、貪心、DP)
  10. Mongodb命令 --- MongoDB基础用法(二)