首頁 > 軟體

Linux trap(捕捉) 命令

2020-06-16 17:17:52

trap 命令用於指定在接收到信號後將要採取的行動;

trap 命令的引數分為兩部分,前一部分是接收到指定信號時將要採取的行動,後一部分是要處理的信號名。而且必須在你想保護的那部分程式碼以前指定trap命令。

格式:trap commands signal-list

例如:trap "cp -f /etc/resolv.conf.bak /etc/resolv.conf;exit"  INT 

 ..........................................

信 號(SIGINT) 說 明
HUP(1) 掛起,通常因終端掉線或使用者退出而引發
INT(2) 中斷,通常因按下Ctrl+C組合鍵而引發
QUIT(3) 退出,通常因按下Ctrl+/組合鍵而引發
ABRT(6) 中止,通常因某些嚴重的執行錯誤而引發
ALRM(14) 報警,通常用來處理超時
TERM(15) 終止,通常在系統關機時傳送

 

INT 就是中斷信號(linux 中是ctrl-C,SCO unix 中是"del"鍵)

trap 就是捕捉信號,與所提供的arg聯絡起來,就是當捕捉到某個信號時執行arg規定的動作。

#!/bin/bash

trap "echo -e "nreceive intn";exit" INT

while :

do

((i++))

done

由於是死迴圈,不會退出,按下ctrl-c鍵後,程式會顯示,receive int,並退回$狀態。當arg為空時表示忽略後面指出的信號

trap -p

可顯示信號關聯的命令。請指正。

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-04/142472.htm


IT145.com E-mail:sddin#qq.com