【发布时间】:2015-09-09 16:23:33
【问题描述】:
当我尝试退出 ruby 进程,即 specs、rails 控制台和 binding.pry 调用时,有两个选项:ctrl+c、ctrl+z,或者如果事情真的卡住了,打开一个单独的选项卡并 @ 987654324@。但是,当我第一次 ctrl+c 时,终端输出 Exiting... Interrupt again to exit immediately. 但永久挂起。如果我再次 ctrl+c 强制退出,它会成功退出。但是,从那时起,我再也看不到我在 shell 中输入的内容了。所以如果我输入ls,该行仍然会显示为空白,但如果我按回车,它将成功执行ls 命令。
当我 ctrl+z 时,它成功地停止了进程。然而,在这样做了几次之后,我最终运行了一堆 ruby 进程,这似乎阻止了运行新的 ruby 进程。在这种情况下,killall ruby 什么都不做(也没有任何派生类,例如通过pid 查找)。我必须打开活动监视器 (mac) 并单独强制退出每个 proc。
任何想法我如何设法让自己陷入这个/如何解决它?
【问题讨论】:
-
一句话送给你:
SIGKILL。如killall -m ruby -9。我一直使用spring。那东西不会优雅地退出。 -
至于为什么它会发生在你的机器上,我不知道。一定有什么不同。比较两台机器的规格/配置。
-
杀死一个挂起的进程是行不通的,除非你用 SIGKILL 杀死它。
-
GitHub 存在问题:github.com/pry/pry/issues/1183
-
@Sergio,我想起了电影毕业生中本杰明和他的一位长辈之间的brief, but famous, conversation。
标签: ruby