在bash脚本中的ssh中捕获Ctrl-C

时间:2015-11-03 00:41:10

标签: bash ssh

我有一个使用某些命令运行SSH的bash脚本。如果我Ctrl-C bash脚本死了,但ssh会话(及其运行命令)继续运行。如何在死掉我的bash shell之前有效地将Ctrl-C发送到ssh会话?

2 个答案:

答案 0 :(得分:0)

当按下Ctrl-C时,此陷阱将SIGTERM发送到进程组中的所有进程:

trap 'kill 0' INT

值得注意的是,ssh可能会在其他系统上运行作业,并且您可以在远程命令中使用陷阱来处理这些作业。

答案 1 :(得分:-1)

你可以这样写:

trap ctrl_c INT

function ctrl_c() {
        echo "Pressed CTRL-C -> KILL SSH"
        kill -SIGINT $(pgrep ssh)
}