Trap命令簡介

 Trap命令簡介

 

 

一、基本概念

 trap是一個shell內建命令,它用來在腳本中指定信號如何處理。比如,按Ctrl+C會使腳本終止執行,實際上系統發送了SIGINT信號給腳本進程,SIGINT信號的默認處理方式就是退出程序。如果要在Ctrl +C不退出程序,那么就得使用trap命令來指定一下SIGINT的處理方式了。trap命令不僅僅處理Linux信號,還能對腳本退出(EXIT)、調試(DEBUG)、錯誤(ERR)、返回(RETURN)等情況指定處理方式。

二、基本格式

  格式:trap "commands" signals

       shell接收到signals指定的信號時,執行commands命令。

1、格式:trap signals

         如果沒有指定命令部分,那么就將信號處理復原。比如 trap INT 就表明恢復Ctrl+C退出

2、格式:trap "" signals

         忽略信號signals,可以多個,比如 trap "" INT 表明忽略SIGINT信號,按Ctrl+C也不能使腳本退出。又如 trap "" HUP 表明忽略SIGHUP信號,即網絡斷開時也不能使腳本退出

3、格式:trap -p signal

         把當前的trap設置打印出來

4、格式:trap -l

         把所有信號打印出來

5、格式:trap "commands" EXIT

         腳本退出時執行commands指定的命令

三、實例分析

         1、寫一個腳本ping  A、BCIP地址探測所有的主機是否在線;

         1.png

         說明:如果范圍為{1..255}時,執行時間比較長,此時ctrl+c中斷時無法中斷,這時我們可以使用tarp命令,當執行ctrl+c時,會執行一個命令或者行數,見例2

         2、用trap實現中斷執行;

         2.png

         3.png

         說明:此時執行ctrl+c時將調用quitScript函數,執行退出。

原創文章,作者:wxdz_2004(古雨秋),如若轉載,請注明出處:http://www.www58058.com/4199

(2)
wxdz_2004(古雨秋)wxdz_2004(古雨秋)
上一篇 2015-05-11 14:07
下一篇 2015-05-11 14:11

相關推薦

  • Corosync+Pacemaker+DRBD實現高可用 Mariadb

    一、DRBD簡介 DRBD全稱Distributed?Replicated?Block?(分布式的復制塊設備),開源項目。它是一款基于塊設備的文件復制解決方案,速度比文件級別的軟件如NFS,samba快很多,而且不會出現單點故障,是很多中小企業的共享存儲首選解決方案。 二、DRBD的工作模式從上圖中我們可以清楚的看到DRBD是工作在內核中,將協議建立在buf…

    2017-11-05
  • N26-第一周博客作業

    第一周博客作業 一、計算機的組成及其功能 計算機的組成可分為硬件、軟件兩部分。 硬件部分: 按馮.諾伊曼提出的計算機體系,計算機可分為五個部分,分別是:控制器、運算器、存儲器、輸入設備、輸出設備。 CPU:由運算器及控制器組成。 控制器:發出決策指令,協調和指揮計算機各部件的工作。 運算器:對數據進行加工,主要進行算數運行、邏輯運算。 存儲器:分為內存儲器和…

    2017-02-17
  • 推薦-虛擬化網絡之OpenvSwitch(二)

    上一篇介紹了openvswitch的基礎知識,接下來我們來做一個實驗,利用GRE通道搭建一個跨多宿主機的虛擬化網絡,深入了解openvswitch的功能。 一、實驗拓撲 ip地址分配:  A1:192.168.10.1/24  A2:192.168.10.10/24   B1:192.168.10.2/24 &nbsp…

    2016-03-27
  • inode總結

    inode的介紹以及影響inode號的命令

    2017-11-13
  • find查找命令及壓縮

    文件查找     在文件系統上查找符合條件的文件;     文件查找: locate, find         非實時查找(數據庫查找): locate    &nbs…

    Linux干貨 2016-08-18
  • 計算機的組成

        計算機組成(computer composition)指的是系統結構的邏輯實現,包括機器機內的數據流和控制流的組成及邏輯設計等。 計算機組成的任務是在指令集系統結構確定分配給硬件系統的功能和概念結構之后,研究各組成部分的內部構造和相互聯系,以實現機器指令集的各種功能和特性。這種聯系包括各功能部件的內部和相   &nbsp…

    2017-03-26
欧美性久久久久