bash程式設計的訊號捕獲

2022-08-12 17:48:11 字數 632 閱讀 6209

bash程式設計的訊號捕獲:

一. trap捕捉到訊號之後,可以有三種反應方式: 

(1)執行一段程式來處理這一訊號 

(2)接受訊號的預設操作 

(3)忽視這一訊號 

二第一種形式的trap命令在shell接收到signal list清單中數值相同的訊號時,將執行雙引號中的命令串。  

trap 'commands' signal-list  

trap "commands" signal-list  

為了恢復訊號的預設操作,使用第二種形式的trap命令:  

trap signal-list  

第三種形式的trap命令允許忽視訊號  

trap " " signal-list  

>

使用示例:

#!/bin/bash

#trap 'echo quit;date' exit

for i in ; do

if ping -w 1 -c 1 172.16.254.$i &> /dev/null; then

echo "172.16.254.$i is up."

else

echo "172.16.254.$i is down."

fidone

《unix高階環境程式設計》訊號 訊號傳送與捕獲

kill 函式是將訊號傳送給程序或程序組,raise 函式是將訊號傳送給自身,他們定義及說明如下所示 cpp view plain copy 訊號傳送與捕獲 函式功能 將訊號傳送給程序或程序組 返回值 若成功則返回0,若出錯則返回 1 函式原型 include intkill pid t pid,i...

Linux訊號的捕獲

typedef void sighandler t int 功能 自定義的函式,以函式指標的方式用於下面的signal訊號註冊函式中的handler函式 sighandler t signal int signum,sighandler t handler 功能 訊號處理註冊函式 signum 訊號...

訊號的捕獲和處理

訊號 signal 是在特定事件發生時由作業系統向程序傳送的訊息。它一種軟體中斷,是程序間唯一的非同步通訊方式。訊號有很多,常見的有 訊號的捕捉和處理 訊號的捕捉和處理由以下2個函式來完成,其中第乙個函式也是由第二個函式實現的 include sighandler t signal int sign...