Process

Process Related Commands

Unix Signal

FreeBSD Signals

Solaris Signals

Trap


Untitled Document
Process Related Commands
uptime ps fg
kill top trap
Mon Feb 11 09:08:13 CST 2013 Untitled Document
Unix Signal
Mon Feb 11 09:08:13 CST 2013 Untitled Document
FreeBSD Signals
Mon Feb 11 09:08:13 CST 2013 Untitled Document
Solaris Signals
Mon Feb 11 09:08:13 CST 2013 Untitled Document
Trap
1. "trap" 可供shell script 獲得控制權, do something, then 重設Signal
2. 利用shell programming撰寫程式時,使用trap通常是希望能夠避免使用者以 不正常方式中斷程式,而使程式進入一個不可知的狀態,危害到系統運作, 或取得不正當的存取權限。 3. 程式不正常中斷時,shell script 可利用 trap 獲得控制權,進行清理 垃圾,保護原始資料,等任務,
例如 vi 在不正常結束時,可把使用者正在 編輯而未及儲存的檔案暫存起來,以備使用者重新編輯,而不會浪費數小時 的編輯工作。
 
Syntax
     trap  'commands; command'   signal_number
當程序收到"signal_number"時,會屏除系統預設處理步驟,改以執行單引號 中的指令代之。
 trap 'echo "Why You Use Ctrl+C ? Don't Do That Again !!!"' 1
如果你在shell script中(程式最上頭)加上這行指令,則當使用者(這執行這 個程式時)按下Ctrl+C(預設動作為結束程式),銀幕上會印出"Why You Use Ctrl+C ? Don't Do That Again !!!",並繼續程式的執行。 Mon Feb 11 09:08:13 CST 2013