我有一个情况我需要一些帮助。它涉及ruby,rails和在Ubuntu服务器上运行的本机c应用程序。
我能够在服务器上编译c应用程序,现在需要知道如何通过ruby脚本启动它们。
我的最终目标是从rails应用程序中获取数据列表,将它们保存到服务器上的特定.dat文件中,使用此文件作为我的可执行文件的输入(以及标志),然后加载生成的文件通过ruby脚本进入我的rails应用程序进行显示。
我正在考虑开始这些:
Confirm existance of executable (script, bat, cmd, exe) via a ruby file
Launch a script on a separate server from a Rails app
Confirm existance of executable (script, bat, cmd, exe) via a ruby file
Ruby require_relative executing script?
如果有人做过这样的事情或者有如何做的想法,请告知。
答案 0 :(得分: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