日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Shell內(nèi)建命令:trap命令

Linux愛(ài)好者 ? 來(lái)源:Linux愛(ài)好者 ? 作者:戀貓大鯉魚(yú) ? 2021-02-09 18:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.命令簡(jiǎn)介

trap 命令是 Shell 內(nèi)建命令,用于指定在接收到信號(hào)后將要采取的動(dòng)作。常見(jiàn)的用途是在腳本程序被中斷時(shí)完成清理工作。

2.命令格式

trap[-lp][ARG][SIGSPECS]

3.選項(xiàng)說(shuō)明

-l
列出信號(hào)名稱(chēng)與對(duì)應(yīng)的數(shù)值
-p
列出信號(hào)與其綁定的命令列表
ARG
與指定信號(hào)綁定的命令。如果 ARG 為空字符串,表示忽略信號(hào);如果 ARG 不指定(缺?。┗?yàn)?,表示執(zhí)行信號(hào)的默認(rèn)動(dòng)作
SIGSPECS
信號(hào)列表,可以是信號(hào)名稱(chēng),也可以是信號(hào)對(duì)應(yīng)的數(shù)值??捎眯盘?hào)可以使用trap-l查看

4.常用示例

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

trap""HUPINTQUITTSTP

(2)捕獲 HUP、INT、QUIT、TSTP 信號(hào),并執(zhí)行默認(rèn)動(dòng)作。

trapHUPINTQUITTSTP
#或
trap-HUPINTQUITTSTP

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

#!/bin/bash

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

執(zhí)行 exit.sh 輸出:

start
beforeexit
end

5.信號(hào)簡(jiǎn)介

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

在有些情況下,我們不希望自己的 Shell 腳本在運(yùn)行時(shí)被中斷,比如說(shuō)我們寫(xiě)的 Shell 腳本設(shè)為某一用戶(hù)登錄系統(tǒng)后默認(rèn)執(zhí)行的 Shell 腳本,使這一用戶(hù)進(jìn)入系統(tǒng)后只能做某一項(xiàng)工作,如數(shù)據(jù)庫(kù)備份, 我們不希望用戶(hù)使用 Ctrl+C 發(fā)送 SIGINT 信號(hào)來(lái)中斷當(dāng)前 Shell 腳本的執(zhí)行,進(jìn)入到 Shell 交互模式,做我們不希望做的事情。這便用到了信號(hào)處理。

以下是一些你可能會(huì)遇到的,要在程序中使用的常見(jiàn)的信號(hào):

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

(點(diǎn)擊查看大圖)

詳細(xì)的信號(hào)列表,可以使用命令trap -lkill -l查看,也可以查看頭文件。例如,執(zhí)行trap -l,查看系統(tǒng)支持的所有信號(hào)如下:

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

參考文獻(xiàn)

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

責(zé)任編輯:xj

原文標(biāo)題:每天一個(gè) Linux 命令(108):trap 命令

文章出處:【微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11822

    瀏覽量

    219602
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    759

    瀏覽量

    23986

原文標(biāo)題:每天一個(gè) Linux 命令(108):trap 命令

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Kubernetes kubectl命令行工具詳解

    kubectl是Kubernetes官方提供的命令行工具,作為與Kubernetes集群交互的主要接口,它通過(guò)調(diào)用Kubernetes API Server實(shí)現(xiàn)對(duì)集群資源的全面管理。在生產(chǎn)環(huán)境中,運(yùn)維工程師需要熟練掌握kubectl命令來(lái)完成日常的集群運(yùn)維、應(yīng)用部署、故障
    的頭像 發(fā)表于 02-02 16:40 ?627次閱讀

    Shell歷史命令history用法

    1. 顯示歷史命令列表 「介紹」:history 命令用于顯示當(dāng)前會(huì)話中執(zhí)行過(guò)的命令的列表,以及每個(gè)命令對(duì)應(yīng)的編號(hào)?!甘纠a」:history 2. 使用歷史
    發(fā)表于 12-02 06:10

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

    Shell是什么?我們?cè)趧傞_(kāi)始接觸Linux的時(shí)候,經(jīng)常會(huì)聽(tīng)到工程師提到Shell這個(gè)詞,剛開(kāi)始不知道這是個(gè)干什么的,簡(jiǎn)單的說(shuō),它是一個(gè)應(yīng)用,接收用戶(hù)命令,調(diào)用相應(yīng)的內(nèi)核接口函數(shù)或應(yīng)用程序,并輸出
    發(fā)表于 09-28 09:05

    是德示波器自動(dòng)化測(cè)試SCPI命令控制指南

    是德示波器通過(guò)標(biāo)準(zhǔn)命令接口SCPI(Standard Commands for Programmable Instruments)實(shí)現(xiàn)自動(dòng)化控制,為測(cè)試系統(tǒng)集成與高效調(diào)試提供強(qiáng)大支持。本文結(jié)合其核心
    的頭像 發(fā)表于 09-23 17:54 ?2006次閱讀
    是德示波器自動(dòng)化測(cè)試SCPI<b class='flag-5'>命令</b>控制指南

    Linux基礎(chǔ)命令which詳解

    在Linux系統(tǒng)中,which命令用于查找并顯示指定命令的可執(zhí)行文件路徑。這對(duì)于系統(tǒng)管理員和開(kāi)發(fā)人員來(lái)說(shuō)是一個(gè)非常有用的工具,可以幫助定位命令所在的位置,確認(rèn)命令是否已正確安裝,并且能
    的頭像 發(fā)表于 07-29 17:58 ?1079次閱讀

    解析K8S實(shí)用命令

    前言: 作為運(yùn)維工程師,掌握 Kubernetes 命令行工具是日常工作的核心技能。本文將深入解析 K8S 最實(shí)用的命令,從基礎(chǔ)操作到高級(jí)技巧,助你成為容器化集群管理專(zhuān)家。
    的頭像 發(fā)表于 07-24 14:07 ?1022次閱讀

    已收藏!你需要知道的57個(gè)常用樹(shù)莓派命令

    初次使用樹(shù)莓派并不總是那么容易,因?yàn)槟憧赡苓€沒(méi)有使用命令行的習(xí)慣。然而,終端命令是必不可少的,而且通常比通過(guò)圖形用戶(hù)界面(GUI)操作更高效。那么,有哪些重要的命令是你應(yīng)該知道的呢?有相當(dāng)多的
    的頭像 發(fā)表于 07-23 18:36 ?1313次閱讀
    已收藏!你需要知道的57個(gè)常用樹(shù)莓派<b class='flag-5'>命令</b>!

    一文掌握Linux命令

    作為一名運(yùn)維工程師,熟練掌握Linux命令是基本功中的基本功。無(wú)論是日常工作中的系統(tǒng)維護(hù),還是面試時(shí)的技術(shù)考核,Linux命令都是繞不開(kāi)的核心技能。本文將從實(shí)戰(zhàn)角度出發(fā),系統(tǒng)梳理運(yùn)維工程師必須掌握的Linux命令,并結(jié)合實(shí)際場(chǎng)景
    的頭像 發(fā)表于 07-22 15:23 ?746次閱讀

    【RA-Eco-RA6M4開(kāi)發(fā)板評(píng)測(cè)】移植shell實(shí)現(xiàn)命令交互

    /XLmbJn0SKoDT1aLdxHDrbg 一個(gè)超級(jí)精簡(jiǎn)高可移植的shell命令行C實(shí)現(xiàn)二. 移植移植參考上述文章,很簡(jiǎn)單只需要實(shí)現(xiàn)輸入輸出接口 即可。代碼見(jiàn)shell.c/h shell
    發(fā)表于 07-19 22:47

    淺談wsl --update` 命令行選項(xiàng)無(wú)效的解決方案

    PS C:\Users\Administrator> wsl --update >> 命令行選項(xiàng)無(wú)效: --update
    的頭像 發(fā)表于 06-27 10:28 ?1.2w次閱讀

    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理SQL命令詳解

    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理SQL命令詳解
    的頭像 發(fā)表于 06-17 15:12 ?7691次閱讀
    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理SQL<b class='flag-5'>命令</b>詳解

    allegro軟件走線命令下參數(shù)不顯示如何解決

    在PCB設(shè)計(jì)中,走線命令是頻繁使用的功能之一。執(zhí)行走線命令后,通常會(huì)在Options面板中顯示線寬、層、角度等設(shè)置選項(xiàng),用于調(diào)整走線參數(shù)。然而,有時(shí)執(zhí)行走線命令后,Options面板中可能沒(méi)有顯示這些設(shè)置區(qū)域,如圖1所示,該如何
    的頭像 發(fā)表于 06-05 09:30 ?2380次閱讀
    allegro軟件走線<b class='flag-5'>命令</b>下參數(shù)不顯示如何解決

    SSH常用命令詳解

    SSH常用命令詳解
    的頭像 發(fā)表于 06-04 11:30 ?2210次閱讀

    如何使用Traceroute命令

    以下是如何使用 traceroute 命令的詳細(xì)指南,包括其語(yǔ)法、選項(xiàng)和實(shí)際示例。
    的頭像 發(fā)表于 06-04 11:28 ?2560次閱讀

    Docker Volume管理命令大全

    Docker Volume管理命令大全
    的頭像 發(fā)表于 05-28 17:14 ?1114次閱讀
    金湖县| 华宁县| 南陵县| 商城县| 博乐市| 伽师县| 新津县| 尉氏县| 靖宇县| 皋兰县| 鸡西市| 清水河县| 连云港市| 林芝县| 柳林县| 泰兴市| 泸州市| 合江县| 海阳市| 上饶市| 昌乐县| 大同市| 麻栗坡县| 江安县| 肥东县| 同心县| 揭阳市| 朝阳市| 宜君县| 习水县| 葫芦岛市| 大英县| 三江| 长汀县| 鹤庆县| 高碑店市| 安新县| 祁连县| 邵东县| 合肥市| 栾城县|