shell从入门到精通(10)信号捕获和处理(代码片段)

奇妙之二进制 奇妙之二进制     2023-03-14     308

关键词:

前言

Linux利用信号与运行在系统中的进程进行通信。当你在终端中启动一个前台进程,按下(Ctrl +C),Linux内核会生成SIGINT信号中断该进程。而trap命令可以在信号出现时捕获,修改信号的默认处理动作。

捕获信号

trap命令允许你来指定shell脚本要监听并从shell中拦截的Linux信号。如果在脚本收到了trap命令中列出的信号,该信号不再由shell处理,而是交给本地处理。

trap命令格式:

trap command signals-list

signals-list表示要捕获的信号列表,多个信号以空格隔开,command表示收到信号后执行的命令。

下面通过一个例子,展示如何用trap命令来忽略SIGINT信号,并控制脚本的行为:

#!/bin/bash

#测试信号捕获

trap "echo \' Sorry! I have trapped Ctrl-C\'" SIGINT

echo &#

shell从入门到精通(32)优秀的shell编程习惯和规范(代码片段)

shell的使用场景1、如果代码量较大(maybe超过100行或者更多),建议使用其他结构化的编程语言。2、如果考虑性能,建议使用其他语言开头有“蛇棒”所谓shebang其实就是在很多脚本的第一行出现的以”#!”开头的... 查看详情

shell从入门到精通(32)优秀的shell编程习惯和规范(代码片段)

shell的使用场景1、如果代码量较大(maybe超过100行或者更多),建议使用其他结构化的编程语言。2、如果考虑性能,建议使用其他语言开头有“蛇棒”所谓shebang其实就是在很多脚本的第一行出现的以”#!”开头的... 查看详情

shell从入门到精通什么是shell

文章目录什么是shellshell是一门脚本语言shell版本什么是shellLinux中的shell,是指一个面向用户的命令接口,接收用户输入的命令,并对命令进行处理,处理完毕后再将结果反馈给用户。shell的英文含义是“壳”,它是相对于内核来... 查看详情

shell从入门到精通(21)如何引用其他shell定义的变量或者函数(代码片段)

我们在编写shell文件时,会遇到处理一些相同逻辑的代码.这时我们会考虑把这些代码抽取为函数以便下次再用.于是想到新增一个common.sh然后引用它。引用方式有两种使用shcommon.sh或者bashcommon.sh或者不加命令直接是/opt/shell/common.sh... 查看详情

shell从入门到精通(15)双中括号[[]]用法(代码片段)

多数情况下[]和[[]]是可以通用的,单中括号[],bash的内部命令,[和test是等同的。双中括号[[]],[[是bash程序语言的关键字。并不是一个命令,[[]]结构比[]结构更加通用,语法更加接近C语言用法。[]这个应该摈弃,减轻学习负担,... 查看详情

shell从入门到精通(15)双中括号[[]]用法(代码片段)

多数情况下[]和[[]]是可以通用的,单中括号[],bash的内部命令,[和test是等同的。双中括号[[]],[[是bash程序语言的关键字。并不是一个命令,[[]]结构比[]结构更加通用,语法更加接近C语言用法。[]这个应该摈弃,减轻学习负担,... 查看详情

springsecurity从入门到精通:从数据库查询权限信息&自定义失败处理(代码片段)

从数据库查询权限信息      记得打开redis      自定义失败处理  我们还希望在认证失败或者是授权失败的情况下也能和我们的接口一样返回相同结构的json,这样可以让前端能对响应... 查看详情

用python2.7编的小游戏

...到了相关教程。自己用google搜:用Python和Pygame写游戏-从入门到精通(目录)就可以找到了。其是一系列的帖子:系统学习部分用Python和Pygame写游戏-从入门到精通(1)Pygame的历史,安装Pygame,第一个Pygame脚本用Python和Pygame写游戏... 查看详情

shell从入门到精通(14)read内置命令读取用户输入(代码片段)

ad命令的用法为:read[-options][variables]options表示选项,如下表所示;variables表示用来存储数据的变量,可以有一个,也可以有多个。options和variables都是可选的,如果没有提供变量名,那么读取的数据将存放到环境变量REPLY中。选... 查看详情

shell从入门到精通(-1)初次会面运行第一个shell脚本

Shell脚本Shell脚本(shellscript),是一种为shell编写的脚本程序。业界所说的shell通常都是指shell脚本,但读者朋友要知道,shell和shellscript是两个不同的概念。由于习惯的原因,简洁起见,本文出现的“shell编程”都是指shell脚本编... 查看详情

shell从入门到精通(13)输出重定向(代码片段)

初步认知在写Shell脚本的时候,我们经常会想将命令的输出结果保存到文件中,或者将命令的执行结果保存到日志记录中。这时候就需要把命令的输出结果重定向。而要进行重定向,就要了解Linux的输入输出流。在Linux中有三个经... 查看详情

git从入门到精通01

一、git到底是什么,有什么作用?  1.根据百度百科的解释,Git(读音为/g?t/)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。说白了就是一个免费软件,当多人开发一个项目时公共资... 查看详情

ffmpeg从入门到精通-云享读书会(代码片段)

前言FFmpeg是一款开源软件,用于生成处理多媒体数据的各类库和程序。FFmpeg可以转码、处理视频和图片(调整视频、图片大小,去噪等)、打包、传输及播放视频。作为最受欢迎的视频和图像处理软件,它被... 查看详情

ffmpeg从入门到精通-云享读书会(代码片段)

前言FFmpeg是一款开源软件,用于生成处理多媒体数据的各类库和程序。FFmpeg可以转码、处理视频和图片(调整视频、图片大小,去噪等)、打包、传输及播放视频。作为最受欢迎的视频和图像处理软件,它被... 查看详情

10天从入门到精通vuewebpack打包vue项目和mintui组件使用(代码片段)

@[toc]注意:有时候使用npminode-sass-D装不上,这时候,就必须使用cnpminode-sass-D在普通页面中使用render函数渲染组件在webpack中配置.vue组件页面的解析运行cnpmivue-S将vue安装为运行依赖;运行cnpmivue-loadervue-template-compiler-D将解析转换vue... 查看详情

wpfmvvm从入门到精通8:数据验证(代码片段)

原文:WPFMVVM从入门到精通8:数据验证 WPFMVVM从入门到精通1:MVVM模式简介WPFMVVM从入门到精通2:实现一个登录窗口WPFMVVM从入门到精通3:数据绑定WPFMVVM从入门到精通4:命令和事件WPFMVVM从入门到精通5:PasswordBox的绑... 查看详情

shell编程shell从入门到精通

文档名称Shell从入门到精通作者信息李振良(阿良)技术博客http://blog.51cto.com/lizhenliang说明本文档均为个人经验总结,转发请保留出处,抵制不道德行为。文档会不定期修改或新增知识点,请关注群动态或微信公众号获取最新文... 查看详情

tensorflow从入门到精通(10)——gpu模型训练和卷积神经网络与应用(代码片段)

这节课,我们来学习如何用GPU训练模型,快的起飞以及接触卷积神经网络并用keras搭建一个卷积神经网络做一个图片分类下一节是一个卷积神经网络的项目,冲冲冲importtensorflowastftf.__version__,tf.config.list_physical_devices(... 查看详情