我正在 Phoenix 开发一个 Web 应用程序,我也刚刚开始发现 Unix 进程管理。
我将我的应用程序放在后台,如下所示:
vagrant@dev:/srv/my_app$ iex -S mix phoenix.server &
[1] 8726
然后我想cd
进入另一个目录并在主提示符中执行一些其他工作。但是,一旦我这样做,后台进程就会停止。
vagrant@dev:/srv/my_app$ cd ..
[1]+ Stopped iex -S mix phoenix.server (wd: /srv/my_app)
我注意到这种情况只发生在这种特殊情况下,因为这是一个提示。其他非交互式进程不会发生这种情况(我可以随意更改目录等)。
我尝试了与另一个提示相同的操作irb
,并且得到了完全相同的行为。
为什么会发生这种情况,是否有任何解决方法可以在后台提示并更改目录而不停止?
答案1
你的 shell 并没有停止,而是你发送到后台的进度(进程iex
)停止了。如果您按“Enter”键,您将收到 shell 提示符。