我刚刚开始使用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文件但没有生成日志文件。
希望这有帮助!
答案 0 :(得分:2)
来自Kernel#exec
的文档:
通过运行给定的外部命令[...]来替换当前进程。
这意味着您的服务器进程已停止并替换为exe
,因此您的服务器无法再回复,因为它只是再次运行。
只需使用Kernel#system
代替:
system("#{Rails.root}/app/assets/forcot/dist/ksnf.exe")
看看这个answer关于Ruby中系统调用的各种方式及其差异。