我在Windows PC上的rails安装程序上创建了一个桌面浏览器应用程序。现在我正在尝试运行rails s -p3001 -e production -d
。它不能在电脑上运行。
如何在Windows PC上分离应用程序服务器进程?
这是错误
=> Booting Thin
> Rails 3.2.7 application starting in production on http://0.0.0.0:3000
C:/ibt/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.7/lib
/active_support/core_ext/process/daemon.rb:3:in `fork': fork() function is unimp
lemented on this machine (NotImplementedError)
from C:/ibt/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupp
ort-3.2.7/lib/active_support/core_ext/process/daemon.rb:3:in `daemon'
from C:/ibt/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rack-1.4.1
/lib/rack/server.rb:314:in `daemonize_app'
from C:/ibt/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rack-1.4.1
/lib/rack/server.rb:254:in `start'
from C:/ibt/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3
.2.7/lib/rails/commands/server.rb:70:in `start'
from C:/ibt/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3
2.7/lib/rails/commands.rb:55:in `block in <top (required)>'
from C:/ibt/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3
2.7/lib/rails/commands.rb:50:in `tap'
from C:/ibt/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3
.2.7/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
答案 0 :(得分:1)
错误消息非常清楚:fork() function is unimp
lemented on this machine (NotImplementedError)
。
rails服务器守护程序的方法是调用计算机上的fork system call
。以下是rails repo:exit if fork
Windows PC上的失败是因为Windows Operating System
没有实现fork
系统调用。
一个选项可能是按照this answer to What is the closest thing windows has to fork()?
中的建议在Windows PC上安装Cygwin
答案 1 :(得分:0)
我已经参考了链接:: run rails in background process -windows
解决了这个问题感谢Murthy的答案