【发布时间】:2016-04-25 03:26:42
【问题描述】:
如果我使用exec 启动一个长时间运行的命令(例如数据库转储),例如,如果用户开始混合 Control-C 以终止脚本,我将如何在远程主机上取消该命令。
在我的测试中,似乎即使您使用 Control-C 并终止应用程序,远程命令也会继续运行。
【问题讨论】:
如果我使用exec 启动一个长时间运行的命令(例如数据库转储),例如,如果用户开始混合 Control-C 以终止脚本,我将如何在远程主机上取消该命令。
在我的测试中,似乎即使您使用 Control-C 并终止应用程序,远程命令也会继续运行。
【问题讨论】:
捕获 SIGINT 和 SystemExit 并清理:
rescue SystemExit, Interrupt
# clean up
# net-ssh execute a kill on the pid
# raise error
end
【讨论】: