为什么 ctrl + z 和 ctrl + c 在 Rails 控制台上不起作用?
Why ctrl + z and ctrl + c is not working on Rails console?
我知道 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 >
为什么会这样?
Stopped which means console process is stopped successfully.
这是错误的。 ctrl-z
,不会停止进程。它以暂停状态将其发送到后台。然而,如您所见 ,它还会启动一个单独的 "spring server",当您将控制台进程发送到后台时您不会暂停。这可能会导致奇怪的行为,因为 spring 服务器认为现在有两个控制台 运行。
如果您真的想正确退出 rails 控制台,请使用 ctrl-d
,这是一个干净的关闭。
我知道 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 >
为什么会这样?
Stopped which means console process is stopped successfully.
这是错误的。 ctrl-z
,不会停止进程。它以暂停状态将其发送到后台。然而,如您所见
如果您真的想正确退出 rails 控制台,请使用 ctrl-d
,这是一个干净的关闭。