bash - 当我中断 ssh 本身时,如何让 ssh 杀死远程进程?

标签 bash ssh

在 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/

相关文章:

linux - sudo su - SSH 之后立即

docker - 即使在我的 github 配置文件中创建并保存了公钥,远程 github 访问也被拒绝

linux - ssh & perl & 在后台运行

SSH 基础知识 - 您是否为您访问的每台服务器使用新 key ?

linux - bash 中的 psql 非常奇怪的错误

bash - 循环退出后的局部变量

linux - 用于配置网络接口(interface)的 Bash 脚本

ruby-on-rails - 为什么我的 Git Bash 不能访问 "bundle"?

linux - awk strftime 返回时间

git - `ssh -T` 到 VSTS(Azure Devops) 验证成功,但 `git clone` 失败