Rails服务器在调用.exe

时间:2018-03-16 06:14:19

标签: ruby-on-rails ruby py2exe

我刚刚开始使用RoR开发一个网页,当我调用我的控制器中的create方法并执行使用python和py2exe创建的.exe文件时,服务器突然停止,没有任何异常。有人能告诉我为什么会这样吗? (正在运行的服务器是localhost:3000)。

创建方法:

@cotizador = Cotizador.new(cotizador_params)
if @cotizador.save
  exec("#{Rails.root}/app/assets/forcot/dist/ksnf.exe")

我使用python创建的.exe文件更改了.docx文件但没有生成日志文件。

希望这有帮助!

1 个答案:

答案 0 :(得分:2)

来自Kernel#exec的文档:

  

通过运行给定的外部命令[...]来替换当前进程。

这意味着您的服务器进程已停止并替换为exe,因此您的服务器无法再回复,因为它只是再次运行。

只需使用Kernel#system代替:

system("#{Rails.root}/app/assets/forcot/dist/ksnf.exe")

看看这个answer关于Ruby中系统调用的各种方式及其差异。