使用陷阱对信号和系统事件做出反应
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 默认发送的内容 |