函数的目的就是代码重用,实现结构化编程的思想在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阅读
1点赞
要明白信号处理函数的使用,就要先知道信号捕捉设定,什么时候会调用信号处理函数和其执行的流程是什么,下图完整的展示了信号捕捉的设定,以及信号处理函数的触发机制: 所以,从上图可以知道,只有当程序中断,异常或系统调用,才会进入内核态,也只有进入了内核态才能处理信号,在这里初学者常常有一个误区,他们会觉
转载 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阅读
1点赞
2评论
Linux进程通信之信号捕捉
原创 2016-07-28 12:15:23
864阅读
这一节,我们从 基础知识、简单实践、小结 三个方面来学习。实践1-捕获终止信号。实践2-捕获正常退出。
trap是一个用来捕捉信号然后执行相应的动作的一个命令,同时也是为了防止用户误操作和防止普通用户非法操作的一个命令,我们来看看他的用法
原创 2016-06-18 16:11:21
2131阅读
shell信号捕捉及处理
翻译 精选 2013-07-16 08:54:08
1430阅读
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阅读
1点赞
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} &#160; 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阅读
  • 1
  • 2
  • 3
  • 4
  • 5