我知道Control+z
用于通过向其发送信号SIGSTOP来暂停进程
每当我运行rails console
命令时,它会进入控制台并向我显示:
Loading development environment (Rails 4.2.1)
2.2.1 :001 >
这意味着我在rails控制台中 但是当我使用ctrl + z退出控制台时出现:
[1]+ Stopped
表示控制台进程已成功停止。
问题是:当我使用Ubuntu终端时,它会将我发送到控制台并向我显示:
xyz:~/Desktop/x/y$ rails c
Loading development environment (Rails 4.2.1)
2.2.1 :001 >
[1]+ Stopped rails c
xyz:~/Desktop/x/y$ cd ..
2.2.1 :002 >
为什么会这样?
答案 0 :(得分:2)
已停止,这意味着控制台进程已成功停止。
这是错误的。 ctrl-z
,不会停止流程。它以暂停状态将其发送到后台。但是,正如您可以看到in this answer,它还会启动一个单独的弹簧服务器"将控制台进程发送到后台时,您不会暂停。这可能会导致奇怪的行为,因为Spring服务器认为现在有两个控制台在运行。
如果您确实想要正确退出rails控制台,请使用ctrl-d
这是一个干净的关闭。