Shell Trap信号管理】的更多相关文章

trap命令用于指定在接收到信号后将要采取的动作.常见的用途是在脚本程序被中断时完成清理工作.不过,这次我遇到它,是因为客户有个需求:从终端访问服务器的用户,其登陆服务器后会自动运行某个命令,例如打开应用(命令写在.bashrc等文件中),最后退出,并断开连接:期间是不能允许其使用Ctrl+C等中断退出应用,而回到Shell环境,否则可能会带来安全问题.当然,解决的方式有很多,如在应用中屏蔽中断信号.使用chroot方式访问等.但这些方法都有一些限制,如需要修改应用,让telnet等支持chro…
.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeiti, "Microsoft YaHei", "WenQuanYi Micro Hei", SimSun, Song, sans-serif } 本文转载自春哥也编程.我对排版做了整理,使更方便浏览. SIGQUIT 建立CORE文件终止进程,并且生成core文件SIGI…
PHP信号管理   SIGHUP     终止进程     终端线路挂断 SIGINT     终止进程     中断进程 SIGQUIT    建立CORE文件终止进程,并且生成core文件 SIGILL   建立CORE文件       非法指令 SIGTRAP    建立CORE文件       跟踪自陷 SIGBUS   建立CORE文件       总线错误 SIGSEGV   建立CORE文件        段非法错误 SIGFPE   建立CORE文件       浮点异常 SIG…
在一个shell中查看管理 任务(前台和后台)/工作jobs 的命令 jobs是在同一个shell环境而言, 才有意义的. 为什么有jobs这个命令? 是因为, 如果从cmd line运行gui程序时, shell会收到hup(hang up挂起信号)信号, 这时shell会被阻塞,那么 后面的命令就无法继续输入. 所以, 要使用同一个shell运行多个gui程序时, 要将某些命令放到后台去执行.这就是jobs管理任务的来由: cockpit: n. 驾驶舱; 战场. The Middle Ea…
工作中常常会遇到处理消息队列的消费者进程,这样的进程是一个守护进程,即一个服务.服务通常写个shell脚本来管理,查询服务的status  ,启动start 关闭stop  重启reload.最近在学习shell,也模仿写了一个简单的服务管理脚本 首先贴出模拟的守护进程服务,PHP程序,命名demo.php <?php while(true){ echo 'doing...'.PHP_EOL; sleep(10); } ?> 这是一个死循环,不停的输出. 管理的shell脚本如下 #!/bin…
yum官方网站:http://yum.baseurl.org/ Fedora对于yum的介绍:http://fedoraproject.org/wiki/Yum yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚…
trap捕捉信号有三种形式 第一种:trap "commands" signal-list 当脚本收到signal-list清单内列出的信号时,trap命令执行双引号中的命令. 例1 #!/bin/bash trap "echo 123" 15 while true do echo abc sleep 5 done 例2 #!/bin/bash trap "sh $0 123" 15 while true do echo $1 sleep 5 d…
场景1:公司新招聘了一个配置管理员,他的工作是负责将公司开发人员写的新代码依次分发到办公室测试环境.IDC测试环境和正式线上环境.因此公司需要开发一个程序,当配置管理员登录服务器,只能进入分发的管理界面,无法进行其他操作或直接进入bash界面. 场景2:公司有大量的服务器,我们不能让每个人用root用户登录服务器,这样很危险.但我们又不能再每一台服务器上为所有人创建登录账户,这样管理起来非常繁琐,于是就有一种叫做跳板机或堡垒机的解决方案. 我们可以用shell脚本实现上面的功能,但通常shell…
原文地址:http://blog.sina.com.cn/s/blog_62eb16bb01014dbh.html 一. trap捕捉到信号之后,可以有三种反应方式: (1)执行一段程序来处理这一信号 (2)接受信号的默认操作 (3)忽视这一信号 二. trap对上面三种方式提供了三种基本形式: 第一种形式的trap命令在shell接收到signal list清单中数值相同的信号时,将执行双 引号中的命令串. trap 'commands' signal-list trap "commands&…
前言 当我们在运行某一段代码的时候,希望有类似事物一样的操作,要么成功,要么失败:一般的shell脚本都是自上而下,从左之后运行,碰到异常信号就会出错,从而终止脚本的运行,这个时候脚本可能运行到某一处数据写入操作的时候,强迫停止,从而造成重大失误,trap可能帮助我们尽量减少这个问题,记住是尽量减少,不等于全部避免. trap 允许你监听指定的信号,并对相应的信号做出对应的反应: 格式 trap commands signals 注意:这里的commands就是在捕获signals信号之后做出的…