Ruby 在后台通过rails应用程序执行脚本

Ruby 在后台通过rails应用程序执行脚本,ruby,ruby-on-rails-3,shell,Ruby,Ruby On Rails 3,Shell,我正在写剧本。通过这个脚本,我通过ssh登录到其他系统,并执行该系统上存在的其他脚本 下面是我执行脚本的代码 def run_script system("script/all/myscript") end 这是我的脚本代码 #!/usr/bin/expect -f spawn ssh -p 11111 admin@localhost expect "*assword" send "1234\r" interact nohup ./second_script > sec

我正在写剧本。通过这个脚本,我通过ssh登录到其他系统,并执行该系统上存在的其他脚本

下面是我执行脚本的代码

def run_script
  system("script/all/myscript")
end
这是我的脚本代码

#!/usr/bin/expect -f     

spawn ssh -p 11111 admin@localhost
expect "*assword"
send "1234\r"
interact

nohup ./second_script > second_script.out 2> second_script.err < /dev/null | echo $! > second_script_pid.txt &
#/usr/bin/expect-f
生成ssh-p1111admin@localhost
期望“*assword”
发送“1234\r”
互动
nohup./second_script>second_script.out 2>second_script.err第二个脚本\u pid.txt&
但它不工作,因为我登录到该机器时没有看到任何second_script.out和second_script.err文件


我错过了什么吗?

你测试过脚本在没有ruby的情况下工作吗???你到底是如何执行脚本的?@bjhaid是的,我测试过脚本,没有rubyruby@user2622247尝试rubys
open3
module来运行脚本,因为调用中的i/o子系统中似乎存在问题。您能解释一下如何解决吗?