如何取消长时间运行的Ruby Net :: SSH命令

时间:2016-04-24 12:48:11

标签: ruby ssh net-ssh

如果我使用exec启动一个长时间运行的命令(如数据库转储),那么如果用户开始将控制C挂起来杀死脚本,我将如何取消远程主机上的命令?

在我的测试中,即使你使用Control-C并杀死应用程序,远程命令也会继续运行。

1 个答案:

答案 0 :(得分:0)

捕获SIGINT和SystemExit并清理:

rescue SystemExit, Interrupt
  # clean up
  # net-ssh execute a kill on the pid
  # raise error
end