在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Shell內建命令:trap命令

Linux愛好者 ? 來源:Linux愛好者 ? 作者:戀貓大鯉魚 ? 2021-02-09 18:19 ? 次閱讀

1.命令簡介

trap 命令是 Shell 內建命令,用于指定在接收到信號后將要采取的動作。常見的用途是在腳本程序被中斷時完成清理工作。

2.命令格式

trap[-lp][ARG][SIGSPECS]

3.選項說明

-l
列出信號名稱與對應的數值
-p
列出信號與其綁定的命令列表
ARG
與指定信號綁定的命令。如果 ARG 為空字符串,表示忽略信號;如果 ARG 不指定(缺省)或為-,表示執行信號的默認動作
SIGSPECS
信號列表,可以是信號名稱,也可以是信號對應的數值。可用信號可以使用trap-l查看

4.常用示例

(1)忽略 HUP、INT、QUIT、TSTP 信號。

trap""HUPINTQUITTSTP

(2)捕獲 HUP、INT、QUIT、TSTP 信號,并執行默認動作。

trapHUPINTQUITTSTP
#或
trap-HUPINTQUITTSTP

(3)掛載 Shell 進程結束前需要執行的命令。格式為:trap “commands” EXIT。如腳本 exit.sh:

#!/bin/bash

echo"start"
trap"echo'end'"EXIT
echo"beforeexit"
exit0

執行 exit.sh 輸出:

start
beforeexit
end

5.信號簡介

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

在有些情況下,我們不希望自己的 Shell 腳本在運行時被中斷,比如說我們寫的 Shell 腳本設為某一用戶登錄系統后默認執行的 Shell 腳本,使這一用戶進入系統后只能做某一項工作,如數據庫備份, 我們不希望用戶使用 Ctrl+C 發送 SIGINT 信號來中斷當前 Shell 腳本的執行,進入到 Shell 交互模式,做我們不希望做的事情。這便用到了信號處理。

以下是一些你可能會遇到的,要在程序中使用的常見的信號:

a58d7252-61ff-11eb-8b86-12bb97331649.png

(點擊查看大圖)

詳細的信號列表,可以使用命令trap -lkill -l查看,也可以查看頭文件。例如,執行trap -l,查看系統支持的所有信號如下:

1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL5)SIGTRAP
6)SIGABRT7)SIGBUS8)SIGFPE9)SIGKILL10)SIGUSR1
11)SIGSEGV12)SIGUSR213)SIGPIPE14)SIGALRM15)SIGTERM
16)SIGSTKFLT17)SIGCHLD18)SIGCONT19)SIGSTOP20)SIGTSTP
21)SIGTTIN22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ
26)SIGVTALRM27)SIGPROF28)SIGWINCH29)SIGIO30)SIGPWR
31)SIGSYS34)SIGRTMIN35)SIGRTMIN+136)SIGRTMIN+237)SIGRTMIN+3
38)SIGRTMIN+439)SIGRTMIN+540)SIGRTMIN+641)SIGRTMIN+742)SIGRTMIN+8
43)SIGRTMIN+944)SIGRTMIN+1045)SIGRTMIN+1146)SIGRTMIN+1247)SIGRTMIN+13
48)SIGRTMIN+1449)SIGRTMIN+1550)SIGRTMAX-1451)SIGRTMAX-1352)SIGRTMAX-12
53)SIGRTMAX-1154)SIGRTMAX-1055)SIGRTMAX-956)SIGRTMAX-857)SIGRTMAX-7
58)SIGRTMAX-659)SIGRTMAX-560)SIGRTMAX-461)SIGRTMAX-362)SIGRTMAX-2
63)SIGRTMAX-164)SIGRTMAX

參考文獻

[1] trap manual
[2] Linux命令大全.trap命令
[3] linux中的trap命令

責任編輯:xj

原文標題:每天一個 Linux 命令(108):trap 命令

文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11319

    瀏覽量

    209832
  • 命令
    +關注

    關注

    5

    文章

    687

    瀏覽量

    22055

原文標題:每天一個 Linux 命令(108):trap 命令

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux系統中shell命令解析

    shell是Linux系統的用戶界面,提供了用戶與內核交互的一種接口,它接收用戶輸入的命令并到送到內核去執行,因此也被稱為Linux的命令解釋器。
    的頭像 發表于 11-05 15:40 ?301次閱讀

    Linux實用命令大全

    Linux實用命令大全
    的頭像 發表于 10-23 13:50 ?249次閱讀
    Linux實用<b class='flag-5'>命令</b>大全

    SD的命令和響應

    一個完整的?SD?卡操作過程是:主機(單片機等)發起“命令”,SD?卡根據命令的內容決定是 否發送響應信息及數據等,如果是數據讀/寫操作,主機還需要發送停止讀/寫數據的命令來結束 本次操作,這意味著主機發起
    的頭像 發表于 10-08 15:49 ?570次閱讀
    SD的<b class='flag-5'>命令</b>和響應

    shell具有的功能和特點

    Shell 是一個命令行解釋器,用于與操作系統進行交互。它提供了一種方便的方式來執行命令、管理文件和目錄、運行程序等。以下是 Shell 的功能和特點的介紹:
    的頭像 發表于 08-30 14:48 ?576次閱讀

    嵌入式學習-常見的shell命令之其他命令

    1、clear清屏命令命令:clear功能:清除屏幕參數:無 示例:清屏前。執行清屏命令后,終端界面顯示信息被清除。2、man幫助命令命令
    發表于 08-22 09:42

    常見的shell命令之其他命令

    1、clear清屏命令命令:clear功能:清除屏幕參數:無 示例:清屏前。執行清屏命令后,終端界面顯示信息被清除。2、man幫助命令命令
    發表于 08-21 09:49

    常見的shell命令之目錄相關命令

    1、pwd查看當前目錄命令:pwd英文全拼:print work directory功能:打印當前所在的路徑參數:沒有其他參數示例:2、ls查看當前目錄的內容命令:ls英文全拼:list功能:列出
    發表于 08-19 10:06

    常見的shell命令之文件操作相關命令

    1、touch創建新文件命令:touch英文全拼:功能:創建大小為0的一個空文件參數:touch 文件名示例:2、echo創建有內容的文件命令:echo功能:將內容回顯到輸出設備,echo命令加上
    發表于 08-19 10:01

    常見的shell命令之目錄相關命令

    目錄相關命令1、pwd查看當前目錄命令:pwd英文全拼:print work directory功能:打印當前所在的路徑參數:沒有其他參數示例:2、ls查看當前目錄的內容命令:ls英文全拼:list
    發表于 08-16 09:22

    shell基本介紹及常用命令shell介紹

    一、Shell是什么?我們在剛開始接觸Linux的時候,經常會聽到工程師提到Shell這個詞,剛開始不知道這是個干什么的,簡單的說,它是一個應用,接收用戶命令,調用相應的內核接口函數或應用程序,并
    發表于 08-15 09:28

    SDRAM中的active命令介紹

    在向SDRAM 中的任何行發出 READ或 WRITE 命令之前,必須先打開該行。這是通過 ACTIVE 命令完成的。ACTIVE 命令的目的是打開或者說激活(active)bank中的一行并將數據從 DRAM 移動到bank的
    的頭像 發表于 07-29 09:53 ?481次閱讀
    SDRAM中的active<b class='flag-5'>命令</b>介紹

    ZWS云平臺應用(6)-設備命令

    本文講述使用ZWS物聯網云平臺遠程下發設備命令的過程。在生產生活中,很多設備自身有一些控制指令,比如,路燈的開關燈命令、電機的調整轉速命令、空調的調溫命令等等。當這些設備變成智能設備,
    的頭像 發表于 06-26 08:25 ?291次閱讀
    ZWS云平臺應用(6)-設備<b class='flag-5'>命令</b>

    Linux的declare/typeset命令介紹

    1.功能簡介 declare(別名typeset)屬Shell內建命令,用于申明Shell變量并設置變量屬性,或查看已定義的Shell變量和
    發表于 04-08 07:03

    lscpu命令使用注意事項

    請注意,lscpu命令在不同的操作系統上可能會有一些差異,某些選項可能不可用。可以通過man lscpu命令或lscpu --help命令查看該命令的幫助文檔和更多選項。
    發表于 03-14 11:39 ?855次閱讀

    Linux基本命令總結

    都說Linux命令多,實際工作中我們又有多少命令會接觸用到呢?本文跟大家分享Linux運維工作中常用的600個命令,可以說這些命令是伴隨著大家一生的運維生涯了,看看大家有哪些還沒用過的
    的頭像 發表于 01-11 10:32 ?982次閱讀
    主站蜘蛛池模板: 亚洲精品第三页| 久久思re热9一区二区三区| 韩国韩宝贝2020vip福利视频| 日处女穴| 日本黄页视频| 全免费一级午夜毛片| 久久手机看片你懂的日韩1024| 国产呦系列呦交| 欧美特黄三级在线观看| 中文字字幕码一二区| 国产在线一区视频| 亚洲免费网| 男人的亚洲天堂| 狠狠躁夜夜躁人人爽天天miya| 59日本人xxxxxxxxx69| 国产亚洲精品免费| 天天寡妇色| 欧美一级特黄aaaaaaa在线观看| 久久久久久久久综合| 1024视频在线观看国产成人| 手机在线观看国产精选免费| 国产真实野战在线视频| 好硬好湿好爽再深一点h视频| 美女扒开腿让男人桶尿口| 性videofree极品另类| 欧美色欧美亚洲高清在线视频| 国模啪啪一区二区三区| 五月天婷婷网站| avt天堂网| 视频一区二区不卡| 五月婷婷影院| 久久精品亚洲青青草原| www九色| 又粗又硬又爽又黄毛片| 人人搞人人爱| 在线成人免费观看国产精品| 曰本性l交片视频视频| 日本三级a| 美女视频很黄很a免费国产| www四虎影视| 精品福利在线视频|