精华内容
下载资源
问答
  • linux trap

    2015-11-20 17:17:00
    linux trap posted on 2015-11-20 17:17 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏 var allowComments=true,cb_blogId=156984,cb_entryId=4981473,....

     

    posted on 2015-11-20 17:17 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/ruiy/p/4981473.html

    展开全文
  • linux trap命令

    2010-10-24 20:05:00
    linux trap命令

    trap命令用于指定 在接收到信号后将要采取的行动,我们将在本书后面的内容中详细介绍信号。trap命令的一种常见用途是在脚本程序被中断时完成清理工作。历史 上,shell总是用数字来代表信号,而新的脚本程序应该使用信号的名字,它们保存在用#include命令包含进来的signal.h头文件中,在使用 信号名时需要省略SIG前缀。你可以在命令提示符下输入命令trap -l来查看信号编号及其关联的名称。

    对于那些不熟悉信号的人们来说,“信号”是指那些被异步发送到一个程序的事件。默认情况下,它们通常会终止一个程序的运行。

    trap命令的参数分为两部分,前一部分是接收到指定信号时将要采取的行动,后一部分是要处理的信号名

    请记住,脚本程序通常是以从上到下的顺序解释执行的,所以必须在你想保护的那部分代码以前指定trap命令。

    如果要重置某个信号的处理条件到其默认值,只需简单的将command设置为-。如果要忽略某个信号,就把command设置为空字符串‘’。一个不带参数的trap命令将列出当前设置的信号及其行动的清单。

    表2-11列出了X/Open规范里面规定的能够被捕获的比较重要的一些信号(括号里面的数字是传统的信号编号)。更多细节请参考signal在线手册的第七部分(man 7 signal)。

    表 2-11

    信     号

    说     明

    HUP(1)

    挂起,通常因终端掉线或用户退出而引发

    INT(2)

    中断,通常因按下Ctrl+C组合键而引发

    QUIT(3)

    退出,通常因按下Ctrl+/组合键而引发

    ABRT(6)

    中止,通常因某些严重的执行错误而引发

    ALRM(14)

    报警,通常用来处理超时

    TERM(15)

    终止,通常在系统关机时发送

    实验:信号处理

    下面的脚本演示了一些简单的信号处理方法:

    运行这个脚本,在每次循环时按下Ctrl+C组合键(或任何你系统上设定的中断键),我们将得到如下所示的输出:

    实验解析

    在这个脚本程序中,我 们先用trap命令安排它在出现一个INT(中断)信号时执行rm –f /tmp/my_tmp_file_$$命令删除临时文件。脚本程序然后进入一个while循环,只要临时文件存在,循环就一直持续下去。当用户按下 Ctrl+C组合键时,就会执行rm –f /tmp/my_tmp_file_$$语句,然后继续下一个循环。因为临时文件现在已经被删除了,所以第一个while循环将正常退出。

    接下来,脚本程序再次 调用trap命令,这次是指定当一个INT信号出现时不执行任何命令。脚本程序然后重新创建临时文件并进入第二个while循环。这次当用户按下 Ctrl+C组合键时,没有语句被指定执行,所以采取默认处理方式,即立即终止脚本程序。因为脚本程序被立即终止了,所以永远也不会执行最后的echo和 exit语句。

     

     原文地址 http://blog.csdn.net/ecjtuync/archive/2008/09/02/2865770.aspx

    展开全文
  • Linux trap 命令

    2018-09-26 18:37:56
    用途说明 trap是一个shell内建命令,它用来指定信号的处理方式,例如: 使用Ctrl +c会是一个非守护进程中之执行,实际上是给进程发送...trap命令不仅可以处理Linux信号,还可以对脚本的退出(EXIT)、调试(DEBUG)、错...

    用途说明

    trap是一个shell内建命令,它用来指定信号的处理方式,例如:

    使用Ctrl +c会是一个非守护进程中之执行,实际上是给进程发送了一个SIGINT信号,该信号的默认处理方式就是退出程序。如果想让程序在退出之前执行些额外的操作,或者不退出程序等操作就可以使用trap命令来对指定的信号做处理。

    trap命令不仅可以处理Linux信号,还可以对脚本的退出(EXIT)、调试(DEBUG)、错误(ERR)、返回(RETURN)等情况做处理。

    参数说明

    trap [-lp] [[arg] sigspec ...]
    

    格式:

    1. trap "commands" signals

      当shell接收到signals指定的信号时,执行commands命令。

    2. trap signals

      没有指定命令部分,那么就将信号处理复原。

    3. trap "" signals

      忽略信号signals

    4. trap -l

      列出所有信号

    5. trap -p

      打印当前trap 设置

    6. trap "commands" EXIT|DEBUG|ERR|RETURN

      脚本退出|脚本执行打印调试信息|命令出错,退出码非0|函数或调用其他脚本返回时

      执行commands 指定命令

    应用场景

    1. 当执行脚本后需要用户做一些固定操作时,例如ATM机,避免用户发送关闭信号来关闭脚本,影响程序的正常关闭,避免用户夺权问题,使用trap命令来忽略用户发送的中断信号请求,以达到限制用户操作避免安全问题。
    展开全文
  • Linux Trap命令

    2020-02-16 18:55:39
    前言: 翻了下man 和info help 手册,这个trap命令的介绍都是英文。看的有些头疼,这找到一个中文版的说明,转载过来保存下: https://blog.csdn.net/carolzhang8406/article/details/46504415/ -----------------...

    前言: 翻了下man 和info help 手册,这个trap命令的介绍都是英文。看的有些头疼,这找到一个中文版的说明,转载过来保存下:

    https://blog.csdn.net/carolzhang8406/article/details/46504415/

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------   trap 的使用

    1、运行格式

    trap命令的参数分为两部分,前一部分是接收到指定信号时将要采取的行动,后一部分是要处理的信号名。

    trap command signal

    它有三种形式分别对应三种不同的信号回应方式。

    第一种:

    trap "commands" signal-list

    当脚本收到signal-list清单内列出的信号时,trap命令执行双引号中的命令。

    第二种:

    trap signal-list

    trap不指定任何命令,接受信号的默认操作,默认操作是结束进程的运行。

    第三种:

    trap " " signal-list

    trap命令指定一个空命令串,允许忽视信号,我们用到的就是这一种。

    ※请记住,脚本程序通常是以从上到下的顺序解释执行的,所以必须在你想保护的那部分代码以前指定trap命令。

    信号量详细列表可以trap -l即可显示

    因为肯定有人现在手头没有linux机器,我就列出来吧

    名称     默认动作          说明

    SIGHUP     终止进程     终端线路挂断

    SIGINT    终止进程     中断进程

    SIGQUIT   建立CORE文件 终止进程,并且生成core文件

    SIGILL    建立CORE文件      非法指令

    SIGTRAP   建立CORE文件       跟踪自陷

    SIGBUS    建立CORE文件      总线错误

    SIGSEGV   建立CORE文件       段非法错误

    SIGFPE    建立CORE文件      浮点异常

    SIGIOT    建立CORE文件      执行I/O自陷

    SIGKILL   终止进程     杀死进程

    SIGPIPE   终止进程     向一个没有读进程的管道写数据

    SIGALARM  终止进程     计时器到时

    SIGTERM   终止进程     软件终止信号

    SIGSTOP   停止进程     非终端来的停止信号

    SIGTSTP   停止进程     终端来的停止信号

    SIGCONT   忽略信号     继续执行一个停止的进程

    SIGURG    忽略信号    I/O紧急信号

    SIGIO     忽略信号    描述符上可以进行I/O

    SIGCHLD   忽略信号     当子进程停止或退出时通知父进程

    SIGTTOU   停止进程     后台进程写终端

    SIGTTIN   停止进程     后台进程读终端

    SIGXGPU   终止进程     CPU时限超时

    SIGXFSZ   终止进程     文件长度过长

    SIGWINCH  忽略信号     窗口大小发生变化

    SIGPROF   终止进程     统计分布图用计时器到时

    SIGUSR1   终止进程     用户定义信号1

    SIGUSR2   终止进程     用户定义信号2

    SIGVTALRM 终止进程     虚拟计时器到时

     

    展开全文
  • linux trap的翻译问题

    2014-02-27 16:47:36
    linux trap的翻译是陷阱,早期的内存是没有虚拟内存的,一个应用程序崩溃会导致系统崩溃,后来加入了MMU模块,引入了虚拟内存及其管理单元,其管理单元增加了trap这个功能,即使应用程序崩溃了,可以把它限制在trap...
  • Linux trap命令

    2015-01-05 14:46:19
    trap 系统信号
  • Linux trap介绍

    千次阅读 2017-05-03 20:28:22
    这样^/就可以reboot程序了^_^不知道Linux重启是不是trap到某个信号了就这样...当然是类似,这个脚本太east了.有时间加机会了看看^_^ 附: Linux信号简介 1) SIGHUP 本信号在用户终端连接(正常或非...
  • linux trap 捕捉信号

    2016-08-03 13:58:14
    trap捕捉到信号之后,可以有三种反应方式:  (1)执行一段程序来处理这一信号  (2)接受信号的默认操作  (3)忽视这一信号  二. trap对上面三种方式提供了三种基本形式:  第一种形式的trap命令在...
  • LINUX trap命令

    2013-08-29 10:44:04
    trap命令用于指定在接收到信号后将要采取的动作。常见的用途是在脚本程序被中断时完成清理工作。不过,这次我遇到它,是因为客户有个需求:从终端访问服务器的用户,其登陆服务器后会自动运行某个命令,例如打开应用...
  • Linux trap用法介绍

    千次阅读 2014-11-21 23:48:01
    trap命令是一个shell内建命令,它用来在脚本中指定信号如何处理。trap命令的参数分为两部分,前一部分是接收到指定信号时将要采取的行动,后一部分是要处理的信号名. 格式:trap commands signals 1. 执行一...
  • linux trap命令举例

    2016-01-17 21:15:39
    eg 1, [xiatian@hzling42 ~]$ ls bin etc workarea [xiatian@hzling42 ~]$ touch 1.txt [xiatian@hzling42 ~]$ alarm () { > echo '22' > 1.txt > exit 1 ...[xiatian@hzling42 ~]$ trap 'alarm -1
  • linux trap命令详解

    千次阅读 2013-12-05 09:09:48
    用途说明 rap是一个shell内建命令,它用来在脚本中指定信号如何处理。比如,按Ctrl+C会使脚本终止执行,实际上系统发送了...trap命令不仅仅处理Linux信号,还能对脚本退出(EXIT)、调试(DEBUG)、错误(ERR)、返回
  • linux trap 詳解

    千次阅读 2013-08-02 11:36:41
    格式:trap "commands" signals 当shell接收到signals指定的信号时,执行commands命令。 使用示例 示例一 [root@new55 ~]# trap -p [root@new55 ~]# trap "echo hello" INT [root@new55 ~]# trap -p ...
  • linux trap详解

    2012-07-04 11:06:38
    这样^\就可以reboot程序了^_^不知道linux重启是不是trap到某个信号了就这样...当然是类似,这个脚本太east了.有时间加机会了看看^_^ 附: Linux信号简介   1) SIGHUP  本信号在用户终端连接(正常或非正常)结束...
  • linux trap command signal

    2013-03-26 17:18:11
    trap命令用于指定在接收到信号后将要采取的行动,我们将在本书后面的内容中详细介绍信号。trap命令的一种常见用途是在脚本程序被中断时完成清理工作。历史上,shell总是用数字来代表信号,而新的脚本程序应该使用...
  • Linux trap(捕捉) 命令

    2017-01-31 14:10:20
    trap 命令用于指定在接收到信号后将要采取的行动;trap 命令的参数分为两部分,前一部分是接收到指定信号时将要采取的行动,后一部分是要处理的信号名。而且必须在你想保护的那部分代码以前指定trap命令。格式:...
  • linux的信号,可以用于进程间通信,还可以用于系统向进程发送命令。比如当系统关机的时候,需要通知每一个进程做善后工作,系统会对每个进程发送SIGTERM信号。进程在收到信号之后就会做一些清理动作。你也可以手动...
  • 【转】linux trap

    2015-06-09 17:20:00
    这样^/就可以reboot程序了^_^不知道linux重启是不是trap到某个信号了就这样...当然是类似,这个脚本太east了.有时间加机会了看看^_^ 附: Linux信号简介  1) SIGHUP 本信号在用户终端连接(正常或非正常)结束...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,675
精华内容 670
热门标签
关键字:

linuxtrap

linux 订阅