在 bash 脚本中,我通过 ssh 在远程机器上执行命令。如果用户通过按 Ctrl+C 中断脚本,它只会停止脚本——甚至不会停止 ssh 客户端。此外,即使我终止了 ssh 客户端,远程命令仍在运行......
如何让 bash 杀死本地 ssh 客户端和 Crtl+c 上的远程命令调用?
一个简单的脚本:
#/bin/bash
ssh -n -x root@db-host 'mysqldump db' -r file.sql
最佳答案
最终我找到了这样的解决方案:
#/bin/bash
ssh -t -x root@db-host 'mysqldump db' -r file.sql
所以 - 我使用“-t”而不是“-n”。 删除“-n”或使用与 root 不同的用户没有帮助。
关于bash - 当我中断 ssh 本身时,如何让 ssh 杀死远程进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/331642/