指令碼訊號捕捉技術
sighup:掛起程序[1]
siging:來自鍵盤的終端ctrl+c[2]
sigquit:從鍵盤退出ctrl+\[3]
sigkill:無條件終止[9]
當apache埠改變之後,kill -hup 3349或者kill -1 3349或者kill -hup httpd可以不需要重啟apache
#!/bin/bash
#signal.sh
#訊號測試
while :
doecho 'aaa';
done
捕捉到乙個訊號後,它可能會採取下面三種操作之一:
1、不採取任何行動,由系統來處理
2、捕捉該訊號,但忽略它
3、捕捉該訊號,但採取相應的行動
kill -9是無條件殺到程序
trap訊號捕捉
trap命令使用
trap "function" signal
1)signal為接受到的訊號
2)function為執行函式
常見行動
1)清除臨時檔案
2)忽略該訊號
3)詢問使用者是否中止指令碼執行
[trap訊號捕捉-1]
#!/bin/bash
#signal.sh
#訊號捕捉
trap 'myfunc' 2 #捕捉到kill操作
function myfunc()
i=0while :
dolet i++
echo $i
sleep 1
done
[trap訊號捕捉-2]
#!/bin/bash
#signal.sh
#訊號捕捉
#與使用者發生互動
trap 'myfunc' 2 #捕捉到kill操作
function myfunc()
i=0while :
dolet i++
echo $i
sleep 1
done
shell指令碼基礎
執行shell指令碼有兩種方法 1 作為可執行程式 將上面的 儲存為 test.sh,並 cd 到相應目錄 chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼 注意,一定要寫成 test.sh,而不是 test.sh,執行其它二進位制的程式也一樣,直接寫 test.s...
shell指令碼基礎
shell定義 shell是命令解析器,將使用者的輸入的指令轉化為機器可以執行的程式。和c語言不同,指令碼有自己的語法。比較常用的格式是 bin bash或者 bin sh 如 這是乙個判斷輸入字元型別的程式 bin bash read key case in a z echo upperlette...
Shell指令碼基礎
1 shell是使用者與核心進行互動操作的一種介面,目前最流行的shell稱為bash shell 2 shell也是一門程式語言 解釋型的程式語言 即shell指令碼 3 乙個系統可以存在多個shell,可以通過cat etc shells命令檢視系統中安裝的shell,不同的shell可能支援的...