SwanLab离线版远程访问保姆级教程:从云服务器到本地Mac/Windows的完整配置流程
2026/6/1 4:00:58
在某些情形下,我们不希望误按ctrl - C就终止当前进程。例如,当执行一个会对文件进行重大修改的复杂脚本时,如果脚本执行到一半就因误按ctrl - C而终止,文件空间可能会陷入混乱。这时候就需要用到信号捕获机制。
信号捕获机制允许 shell 在接收到信号时执行我们指定的操作,而非执行默认操作。用于拦截信号的命令是trap,其使用方式如下:
trap ’action’ signal其中,action可以为空或包含一个命令的字符串,signal是信号名称之一。
下面是一个示例脚本interrupts:
trap ’echo Ouch’ INT echo Beginning sleep 10 echo ten seconds sleep 10 echo twenty seconds sleep 10 echo thirty seconds and ended使用sh执行该脚本,在终端中多次按下ctrl - C,观察结果:
$ sh interrupts