0

我有一个需要帮助的情况。它涉及运行在 Ubuntu 服务器上的 ruby​​、rails 和原生 c 应用程序。

我能够在服务器上编译 c 应用程序,现在需要知道如何通过 ruby​​ 脚本启动它们。

我的最终目标是从 Rails 应用程序中获取数据列表,将它们保存到服务器上的特定 .dat 文件中,将此文件用作我的可执行文件(连同标志)的输入,然后通过 ruby​​ 将生成的文件加载回来脚本到我的 Rails 应用程序中进行显示。

我目前正在研究这些以开始:

通过 ruby​​ 文件确认可执行文件(脚本、bat、cmd、exe)的存在

从 Rails 应用程序在单独的服务器上启动脚本

通过 ruby​​ 文件确认可执行文件(脚本、bat、cmd、exe)的存在

Ruby require_relative 执行脚本?

如果有人做过这样的事情或有如何做的想法,请提出建议。

4

1 回答 1

3

你可以这样做

original_file_path = 'path/to/original_file.dat'
modified_file_path = 'path/to/modified_file.dat'

File.write(file_path, 'data')

#this will return an output from c program
#use this if you need to parse output from c program
result = `some_c_executable --some_flag #{file_path}`
#parsing result...
data = File.read(modified_file_path)
#work with data

或者

#if you don't need output from c program, use "system"
#it returns you true or false according to success
result = system "some_c_executable --some_flag #{file_path}"
if result
  data = File.read(modified_file_path)
  #work with data
else
  ...
end
于 2013-08-16T06:07:25.467 回答