1
Linux陷阱信号处理SSH连接丢弃/被杀死
我在一个npm脚本中有一个命令,它连接到一个远程构建服务器并运行一个Bash脚本。该脚本设置了一个锁文件和一个 trap 调用在脚本退出时删除lockfile。 我正在取消该操作 CTRL + C 在这两种情况下。 LOCKFILEPATH="/tmp/env_app.lock" # cleanup function just deletes $LOCKFILEPATH function mutex() { if [ -f "$LOCKFILEPATH" ]; then echo -e "\n\n${redtext}Build already in progress! Exiting.${resettext}\n\n"; exit 1; else touch $LOCKFILEPATH; trap cleanup EXIT; fi } 当您第一次通过SSH进入主机运行它时,这可以正常工作,但是当您通过SSH发送命令时,陷阱不起作用 ssh hostname command 我尝试添加trap命令来运行更多信号,但这些似乎也不起作用: trap cleanup EXIT SIGHUP …