亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦>學習電腦>操作系統(tǒng)>Linux教程>

      linux trap命令詳解

      時間: 佳洲1085 分享

        linux系統(tǒng)中trap命令常見的用途是在腳本程序被中斷時完成清理工作。那么下面由學習啦小編為大家整理了linux trap命令的相關知識,希望對大家有幫助!

        1.linux trap命令用法說明

        trap命令用于指定在接收到信號后將要采取的動作,常見的用途是在腳本程序被中斷時完成清理工作。當shell接收到sigspec指定的信號時,arg參數(命令)將會被讀取,并被執(zhí)行。例如:

        trap "exit 1" HUP INT PIPE QUIT TERM

        表示當shell收到HUP INT PIPE QUIT TERM這幾個命令時,當前執(zhí)行的程序會讀取參數“exit 1”,并將它作為命令執(zhí)行。

        2.linux trap命令語法

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

        3.linux trap命令選項參數說明

        如果arg參數缺省或者為“-”,每個接收到的sigspec信號都將會被重置為它們進入shell時的值;

        如果arg是空字符串每一個由sigspec指定的信號都會被shell和它所調用的命令忽略;

        如果有-p選項而沒有提供arg參數則會打印所有與sigspec指定信號相關聯(lián)的的trap命令;

        如果沒有提供任何參數或者僅有-p選項,trap命令將會打印與每一個信號有關聯(lián)的命令的列表;

        -l選項的作用是讓shell打印一個命令名稱和其相對應的編號的列表。

        每個sigspec信號都是是以名字或者編號的形式定義在signal.h頭文件中,信號的名字是不區(qū)分大小寫的,其前綴SIG是可選的,如果某個信號是 EXIT(0),那么arg指定的命令將會在shell上執(zhí)行退出命令時執(zhí)行(If a sigspec is EXIT (0) the command arg is executed on exit from the shell),如果sigspec是DEBUG,那么arg指定的命令將會在以下每個命令執(zhí)行之前執(zhí)行:

        簡單命令,for語句,case語句,select命令,算法命令,在函數內的第一條命令。

        更多trap debug的使用可以參考extdebug選項說明。

        如果sigspec是ERR,arg參數指定的命令將會在任何簡單命名執(zhí)行完后返回值為非零值時執(zhí)行,但是也有以下例外情況:

        1.如果執(zhí)行失敗的命令是緊跟在while或者until關鍵字之后的一組命令中的一部分時

        2.如果執(zhí)行失敗的命令是if測試語句的一部分時,是 && 和 ||連接的列表中的一部分時

        3.如果執(zhí)行失敗的命令的返回值是被取反過的(通過!操作符)

        在以上情況中如果sigspec是ERR,arg命令不會執(zhí)行,這些規(guī)則同樣適用于errexit選項。如果sigspec是RETURN,arg指定的命令在每次shell函數或者腳本用"."或者內置的命令執(zhí)行完成后執(zhí)行,在shell入口處被忽略的命令 是沒法被trap和reset的,被trap的信號,在創(chuàng)建的子進程中使用時會在子進程被創(chuàng)建時被重置為原始的值。如果trap使用的sigspec信號 是invalid的信號則trap命令返回false(失敗),否則返回成功(true)。

        擴展資料:信號

        信號是一種進程間通信機制,它給應用程序提供一種異步的軟件中斷,使應用程序有機會接受其他程序活終端發(fā)送的命令(即信號)。應用程序收到信號后,有三種處理方式:忽略,默認,或捕捉。進程收到一個信號后,會檢查對該信號的處理機制。如果是SIG_IGN,就忽略該信號;如果是SIG_DFT,則會采用系統(tǒng)默認的處理動作,通常是終止進程或忽略該信號;如果給該信號指定了一個處理函數(捕捉),則會中斷當前進程正在執(zhí)行的任務,轉而去執(zhí)行該信號的處理函數,返回后再繼續(xù)執(zhí)行被中斷的任務。

        在有些情況下,我們不希望自己的shell腳本在運行時刻被中斷,比如說我們寫得shell腳本設為某一用戶的默認shell,使這一用戶進入系統(tǒng)后只能作某一項工作,如數據庫備份, 我們可不希望用戶使用Ctrl c之類便進入到shell狀態(tài),做我們不希望做的事情。這便用到了信號處理。

      linux trap命令詳解

      linux系統(tǒng)中trap命令常見的用途是在腳本程序被中斷時完成清理工作。那么下面由學習啦小編為大家整理了linux trap命令的相關知識,希望對大家有幫助! 1.linux trap命令用法說明 trap命令用于指定在接收到信號后將要采取的動作,常見的用
      推薦度:
      點擊下載文檔文檔為doc格式

      精選文章

      • linux traceroute命令詳解
        linux traceroute命令詳解

        linux系統(tǒng)中traceroute通過發(fā)送小的數據包到目的設備直到其返回,來測量其需要多長時間。那么下面由學習啦小編為大家整理了linux traceroute命令的相關知識,

      • linux touch命令詳解
        linux touch命令詳解

        linux的touch命令不常用,一般在使用make的時候可能會用到,用來修改文件時間戳,或者新建一個不存在的文件。那么下面由學習啦小編為大家整理了linux t

      • linux top命令詳解
        linux top命令詳解

        top 命令和ps命令的基本作用是相同的,顯示系統(tǒng)當前的進程和其它狀況,那么下面由學習啦小編為大家整理了linux top命令的相關知識,希望對大家有幫助

      • linux tomcat啟動命令詳解
        linux tomcat啟動命令詳解

        Linux下tomcat命令其中有直接啟動服務的命令,那么下面由學習啦小編為大家整理了linux tomcat啟動命令的相關知識,希望對大家有幫助! linux tomcat啟動服務命令

      3583822