Rails 服务器在调用 .exe 后死机
Rails Server dies after calling .exe
我刚开始使用 RoR 开发一个网页,当调用我的控制器中的创建方法并执行使用 python 创建的 .exe 文件并执行 py2exe 时,服务器突然停止,没有任何异常。有人能告诉我为什么会这样吗? (运行 服务器是 localhost:3000)。
创建方法:
@cotizador = Cotizador.new(cotizador_params)
if @cotizador.save
exec("#{Rails.root}/app/assets/forcot/dist/ksnf.exe")
我用 python 创建的 .exe 文件更改了 .docx 文件,但没有生成日志文件。
希望对您有所帮助!
来自 Kernel#exec
的文档:
Replaces the current process by running the given external command, [...].
这意味着您的服务器进程已停止并被 exe
替换,因此您的服务器无法再回答,因为它只是 运行 了。
只需使用 Kernel#system
即可:
system("#{Rails.root}/app/assets/forcot/dist/ksnf.exe")
看看这个 answer 关于在 Ruby 中进行系统调用的各种方式及其区别。
我刚开始使用 RoR 开发一个网页,当调用我的控制器中的创建方法并执行使用 python 创建的 .exe 文件并执行 py2exe 时,服务器突然停止,没有任何异常。有人能告诉我为什么会这样吗? (运行 服务器是 localhost:3000)。
创建方法:
@cotizador = Cotizador.new(cotizador_params)
if @cotizador.save
exec("#{Rails.root}/app/assets/forcot/dist/ksnf.exe")
我用 python 创建的 .exe 文件更改了 .docx 文件,但没有生成日志文件。
希望对您有所帮助!
来自 Kernel#exec
的文档:
Replaces the current process by running the given external command, [...].
这意味着您的服务器进程已停止并被 exe
替换,因此您的服务器无法再回答,因为它只是 运行 了。
只需使用 Kernel#system
即可:
system("#{Rails.root}/app/assets/forcot/dist/ksnf.exe")
看看这个 answer 关于在 Ruby 中进行系统调用的各种方式及其区别。