linux组合键 发送指定信号_linux trap脚本信号捕获命令的使用
linux的信号,可以用于进程间通信,还可以用于系统向进程发送命令。比如当系统关机的时候,需要通知每一个进程做善后工作,系统会对每个进程发送SIGTERM信号。进程在收到信号之后就会做一些清理动作。你也可以手动发送一些信号,比如“Ctrl+C”会像指定的进程发送SIGINT信号,如果进程没有指定捕获信号动作,那就默认的动作就是挂掉。linux系统信号非常多,常见的信号有:
信号值 信号名 描述
1 SIGHP 挂起进程
2 SIGINT 终止进程
3 SIGQUIT 停止进程
9 SIGKILL 无条件终止进程
15 SIGTERM 尽可能终止进程
17 SIGSTOP 停止进程,不是终止进程
18 SIGTSTP 停止或暂停进程,但不终止进程
19 SIGCONT 继续运行停止的进程
在一个进程中,捕获信号需要用到注册信号函数signal,那么在一个shell脚本中如何去捕获信号,并处理信号呢?需要使用到linux提供的命令trap,trap的用法:
trap cmd sigVALUE
trap 动作 要捕获的信号
例如:trap “echo ‘I got signal INT’ ” SIGINT
在默认的情况下,对shell脚本发送Ctrl+C会导致脚本的退出,如果加上捕获命令,则直接捕获并做相应处理,处理动作是由你来指定的。
接下来我们写几个例子来演示如何使用。
例1:捕获信号并处理
结果如下所示:
例2: 还可以捕获 shell退出的消息
trap comand EXIT
结果如下:
linux组合键 发送指定信号_linux trap脚本信号捕获命令的使用相关推荐
- 组合键 发送指定信号_Django signal 信号机制的使用
Django中提供了"信号调度",用于在框架执行操作时解耦,当某些动作发生的时候,系统会根据信号定义的函数执行相应的操作 一.Django中内置的 signal 类型主要包含以下几 ...
- 高效办公小工具:AutoHotkey(进阶版)——自定义组合键打开指定应用与网页,手机号邮箱等自动补全
高效办公小工具:AutoHotkey--自定义快捷键与自动填充 使用方法: 1.安装下载文件中的exe程序 2.新建TXT文档,将后缀名改为.ahk 3.使用npp打开该文件,进行自定义设置(npp下 ...
- linux的mysql本地yum安装_Linux Centos 下使用yum 命令安装mysql实现步骤
Linux Centos 下使用yum 命令安装mysql实现步骤 1. 查看服务器中有没有安装过Mysql 1. 查看有没有安装包: yum list mysql* #移除已经安装的mysql yu ...
- 打包到指定目录_linux中打包文件tar命令的简单用法
tar 是tape archive的缩写,原理就是把多个文件前后连在一起,形成一个大的文件,tar命令并不对文件进行压缩. tar打包文件起码要跟上2个选项:-cf,-c选项是创建打包文件,-f选项是 ...
- Linux如何全盘搜索MySQL文件_Linux上的文件搜索命令实例详解
locate 基础了解 locate命令搜索的后台数据库路径:/var/lib/mlocate/mlocate.db ls -hl /var/lib/mlocate total 1.2M -rw-r- ...
- linux遍历目录删除指定文件,利用shell脚本遍历文件夹内所有的文件并作整理统计的方法-linux删除文件夹...
本篇文章扣丁学堂Linux培训小编给读者们分享一下利用shell脚本遍历文件夹内所有的文件并作整理统计的方法,文章具有很好的参考价值,感兴趣的小伙伴就随小编来了解一下吧. 环境: Ubuntu下采用s ...
- Linux系列: root指定用户权限执行脚本
root用户执行: shell> sudo -H -u testUser bash -c "touch test"
- 【搞定CAD】键盘“组合键”应用小技巧
今天来说一说组合键在CAD中的应用 选择性记忆某些命令的组合快捷键 可以提高操作速度 举个栗子:相切相切相切画圆快捷键? C-3P-tan拾取点-tan拾取点-tan拾取点 或者常规方式:直接点图标 ...
- linux shell trap捕捉信号 附信号表 SIGTERM SIGKILL
trap捕捉信号有三种形式 第一种: trap "commands" signal-list 当脚本收到signal-list清单内列出的信号时,trap命令执行双引号中的命令. ...
最新文章
- 阿里程序员回老家被哥们问工作,回答在阿里,哥们却吐槽:破IT就破IT,还阿里巴巴!网友:京东就是送快递的,美团就是送外卖的!...
- 大数据风控-反欺诈之黑卡与养卡
- ACE之Proactor模式使用实例
- 【Python小程序】必备软件系列之文字识别提取,前台再也不同担心纸质转电子文件啦~
- ubuntu下为opera26.0安装flash
- AAAI 2022 | 可解释和鲁棒的联合文本分类及证据提取
- 关于parallel rollback的一点总结
- vue 使用 el-image图片无法显示
- JVM的进阶学习(GC Roots、JVM调优与参数配置、)
- Office2003与Office2007默认打开方式的切换
- 单片机r6/r7c语言怎么用,关于单片机C51中c语言函数(-nop-())?
- 面试Python时,面试官最喜欢问这些技术问题
- type(img).__module__ == np.__name__
- C#获取字符串中某个字符出现的次数
- AE 动效工作流技巧 —— 减少 Bodymovin 导出的 JSON 大小并提升性能(二)
- python写词法分析器_python实现词法分析器
- linux下mysql数据库备份与恢复(全量+增量)
- 外设/* 面包板套件使用
- C基础:45道练习题汇总(初学者加油)
- 数据库如何删除服务器文件,SqlServer数据库同时备份到两台服务器上(并自动删除过期文件)...
热门文章
- UE3 Lightmass 技术指南
- rocketmq 4.X 扩容思路
- 玩转Docker镜像
- bootstrap 总结
- python网络编程学习笔记(4):域名系统
- 调整地面材质_【C4DtoA 13】Arnold渲染器(材质七): Shadow Matte Shader
- css3切角文本框_CSS3:linear-gradient切角画册
- fedora 20 中关闭防火墙
- 如何用C语言编辑窗口界面,「分享」C语言如何编写图形界面
- mysql 迁移后无法启动_Mysql数据迁移后启动出错_MySQL