在bash脚本中的ssh中捕获Ctrl-C
问题描述:
我有一个bash脚本,它运行一些SSH命令。如果我Ctrl-C
bash脚本死了,但ssh会话(及其运行命令)继续运行。在死掉我的bash shell之前,我如何有效地将Ctrl-C发送到ssh会话?在bash脚本中的ssh中捕获Ctrl-C
答
这个陷阱时,按Ctrl-C将发送SIGTERM到进程组中的所有过程:
trap 'kill 0' INT
值得一提的是,SSH可能会让作业在其他系统上运行,并且您可以在远程命令中使用陷阱来处理这些问题。
不是一个完整的答案,而是在'trap' bash内建中读到 - http://linux.die.net/man/1/bash --'ctrl-c'通常会产生'SIGINT'。 –
要添加到Rob Starling的评论中,您可能想要杀死整个流程组(您可以轻松找到如何解决这个古老的问题)。 – 4ae1e1