函数的目的就是代码重用,实现结构化编程的思想在shell脚本中,定义函数的两种方式: function FUNCTIONNAME { 函数体 }
原创
2015-11-30 11:51:20
699阅读
shell脚本之信号的捕捉trap,翻译过来就是陷阱的意思,shell脚本中的陷阱是专门用来捕捉信号的。啥信号呢?比如经常使用的kill-9,kill-15,CTRL+C等都属于信号1、查看所有可用的信号trap-l或kill-l即可[root@linux1~]#kill-l63)SIGRTMAX-164)SIGRTMAX[root@linux1~]#trap-l1)SIGHUP2)SIGINT
原创
2019-08-27 10:59:19
1859阅读
HUP(1) 挂起,通常因终端掉线或用户退出引发INT(2) 中断,通常因CTRL+C组合引发QUIT(3) 退出, 通常因CTRL+/组合引发ABRT(6) 中止, 通常因某些严重的错误而引发ALRM(14) 报警 ,通常用来处理超时TERM(15) 终止, 通常在系统关机时发送TST
原创
2014-10-05 01:29:31
2418阅读
shell 脚本编程之信号捕捉和主机探测===============================================================================概述:===============================================================================主机探测1.写一个脚本,探测192.1
原创
2017-03-03 19:38:01
1457阅读
点赞
要明白信号处理函数的使用,就要先知道信号的捕捉设定,什么时候会调用信号处理函数和其执行的流程是什么,下图完整的展示了信号捕捉的设定,以及信号处理函数的触发机制: 所以,从上图可以知道,只有当程序中断,异常或系统调用,才会进入内核态,也只有进入了内核态才能处理信号,在这里初学者常常有一个误区,他们会觉
转载
2017-02-17 00:26:00
257阅读
2评论
9.1 Linux信号类型信号(Signal):信号是在软件层次上对中断机制的一种模拟,通过给一个进程发送信号,执行相应的处理函数。进程可以通过三种方式来响应一个信号:1)忽略信号,即对信号不做任何处理,其中有两个信号不能忽略:SIGKILL及SIGSTOP。2)捕捉信号。3)执行缺省操作,Linux对每种信号都规定了默认操作。Linux究竟采用上述三种方式的哪一个来响应信号呢?取决于传递给响应的
转载
2017-03-22 15:09:00
5163阅读
防伪码:李白乘舟将欲行,忽闻岸上踏歌声。
9.1 Linux 信号类型
信号(Signal):信号是在软件层次上对中断机制的一种模拟,通过给一个进程发送信号,执行响
应的处理函数。
原创
2017-02-18 19:36:29
2428阅读
点赞
2评论
这一节,我们从 基础知识、简单实践、小结 三个方面来学习。实践1-捕获终止信号。实践2-捕获正常退出。
trap是一个用来捕捉到信号然后执行相应的动作的一个命令,同时也是为了防止用户误操作和防止普通用户非法操作的一个命令,我们来看看他的用法
原创
2016-06-18 16:11:21
2131阅读
trap 信号捕捉
trap用法:trap 'echo ' signal
/bin/bash
trap 'echo "haha I am still here"' INT
read A
当按下ctrl+c的时候会出现脚本的定义输出的信息
2、
trap 'echo "quit the script";exit 1'
原创
2010-12-31 16:11:25
893阅读
一.日志文件
1.创建日志文件的重要性:
记录重要的信息,如登录、运行情况、监控等。。为我们分析和排除错误非常有帮助
2.以时间为标识的日志文件
转载
2011-11-02 18:37:55
2036阅读
点赞
trap:trap‘echopressctrl+c’2:捕捉中止信号,但是不退出。#!/bin/bash########trap''215#捕捉2信号和15信号trap-p#列出自定义信号操作for((i=1;i<=10;i++));doecho$isleep1donetrap''215#忽略操作trap-pfor((i=1;i<=10;i++));doecho$isleep1done
原创
2020-09-11 21:18:49
312阅读
signal函数 注册一个信号捕捉函数: typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); 该函数由ANSI定义,由于历史原因在不同版本的Unix和不同版本的Linux中
转载
2019-08-10 21:19:00
145阅读
有时候我们希望在关闭窗口之前做一些操作,例如保存缓存数据或向用户提示是否关闭窗口等等。由于一般的窗口都是继承自QWidget, 那么我们可以通过覆盖QWidget中的虚函数closeEvent(QCloseEvent* event);来达到这个目的。
(1)首先添加依赖库:
#include <QCloseEvent>
2)接着声明和定义closeEvent函数:
a).h文件
转载
2020-04-07 17:04:00
1693阅读
2评论
脚本编程知识点:
* FILE=/usr/local/src
TEST=${FILE#*/}:$TEST结果为usr/local/src, 以/为关键字,删除从左边数第一个/及关键字/左边的所有字符串。
DEST=${FILE##*/}:$DEST结果为src,以/为关键字,删除最后一个关键字/及关键字/左边的所有字符串。 从左往右时,*号需在关键字左边
DOTEST=${FILE%/*}:$DOTEST结果为/usr/local,以/为关键字,删除从右边数第一个/及关键字/右边的所有字符串。
DODEST=${FILE%%/*}:$DODEST结果为空,以/为关键字,删除从右边数最后一个/及关键字/右边的所有字符串。 从右往左时,*号需在关键字右边
1、如何获取变量中字符的长度:
${#VARNAME}   VARNAME变量名
Usage:
[root@localhost ~]# VARNAME1='TESTING SERVER'
[root@localhost ~]# echo "${#VARNAME1}"
14 &#
原创
2016-12-14 08:59:31
944阅读
简介 首先我们先来看一段代码。 #!/bin/bash declare -i uphosts=0 declare -i downhosts=0 for i in 192.168.152.{98..102}; do if ping -W 2 -c 1 $i &>/dev/null; then echo ...
转载
2020-12-10 16:46:00
84阅读
2评论
#!/bin/bashsumFunc(){a=0sum=0until [ $a -gt $1 ]dosum=`expr $sum + $a`a=`expr $a + 1`doneecho $sumreturn 0}res=$(sumFunc 1000)echo res=$res输出结果:res=5005000
原创
2022-06-06 17:01:45
988阅读
1、如何实现信号的捕捉 2、sigaction函数 include<signal.h> int sigaction(int signo, const struct sigaction *act, struct sigaction *oact) sigaction函数可以读取和修改与指定信号相关联的处理动作。调用成功返回0,出错
原创
2016-07-14 23:17:11
451阅读