2019-03-18 12:17:28 +08:00
|
|
|
# trap
|
|
|
|
|
2021-08-02 04:41:09 -04:00
|
|
|
> 在进程或操作系统接收到信号后自动执行命令。
|
|
|
|
> 可用于对用户中断或其他操作执行清理。
|
2024-01-01 15:56:36 +01:00
|
|
|
> 更多信息:<https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#trap>.
|
2019-03-18 12:17:28 +08:00
|
|
|
|
2021-08-02 04:41:09 -04:00
|
|
|
- 列出设置 trap 的可用信号:
|
2019-03-18 12:17:28 +08:00
|
|
|
|
|
|
|
`trap -l`
|
|
|
|
|
2021-08-02 04:41:09 -04:00
|
|
|
- 列出当前 shell 程序的活动 trap 程序:
|
2019-03-18 12:17:28 +08:00
|
|
|
|
|
|
|
`trap -p`
|
|
|
|
|
2021-08-02 04:41:09 -04:00
|
|
|
- 设置 trap 以在检测到一个或多个信号时执行命令:
|
2019-03-18 12:17:28 +08:00
|
|
|
|
|
|
|
`trap 'echo "检测到信号 {{SIGHUP}}"' {{SIGHUP}}`
|
|
|
|
|
2022-03-27 07:25:15 +02:00
|
|
|
- 移除活动 trap:
|
2019-03-18 12:17:28 +08:00
|
|
|
|
|
|
|
`trap - {{SIGHUP}} {{SIGINT}}`
|