首次在rails console中运行查询...
我意外地运行了一个查询:类似这样的
User.where(:location => 'US'))
显然正在拉动我相当多的数据。
现在查询仍在那里。我知道我可以关闭此会话并重新启动另一个会话。但我想知道杀死查询最安全的方法。是否有像mysql中类似的东西:
show full processlist
和
kill #
答案 0 :(得分:3)
当我想要停止长时间运行的查询时,我通常会上断中断链。
ctrl c
将发送SIGINT,希望只是让您退出当前查询或在控制台中循环。但是,有时,这不起作用,所以我向上迈出了一步
ctrl \
将发送SIGQUIT以退出当前进程。此命令将退出rails控制台并返回终端(假设您从rails c
启动了控制台)
作为最糟糕的情况,我将使用ctrl z
暂停该过程,允许您查找进程ID(使用top
或ps
或其他任何内容)然后使用关于那个pid的kill
。如果这不起作用,最后要使用的是kill -9
,这会终止进程。