使用陷阱對訊號和系統事件做出反應
trap
實用程式是一個內建的特殊 shell。它在 POSIX 中定義 ,但 bash 也新增了一些有用的擴充套件。
相容 POSIX 的示例以 #!/bin/sh
開頭,以 #!/bin/bash
開頭的示例使用 bash 擴充套件。
訊號可以是訊號編號,訊號名稱(不帶 SIG 字首)或特殊關鍵字 EXIT
。
POSIX 保證的是:
數 | 名稱 | 筆記 |
---|---|---|
0 |
出口 | 無論退出程式碼如何,始終在 shell 出口上執行 |
1 |
SIGHUP | |
2 |
SIGINT | 這就是^C 傳送的內容 |
3 |
SIGQUIT | |
6 |
SIGABRT | |
9 |
SIGKILL | |
14 |
SIGALRM | |
15 |
SIGTERM | 這是 kill 預設傳送的內容 |