Open3捕获ps -aux崩溃的屏幕会话

时间:2016-05-03 20:18:53

标签: ruby session

我的系统是Ubuntu 14,我在屏幕上运行几个游戏服务器,运行游戏服务器的会话是" alle_server",我的屏幕是" server0",& #34; server1的"直到" server9"

我有一个脚本应该检查是否有进程"服务器#"而#是服务器编号:



#!/usr/bin/env ruby

require 'open3'

while true
        x = Array.new(1)
        x = Open3.capture3('ps -aux |grep "scripts/server." | grep  "[0-9]$" -o')

        for i in 0..10
                if !(x[0].include? i.to_s)
                        p i
                        `screen -S alle_server -X screen -L /home/u220324/cod2/scripts/server#{i}`
                end
        end
        sleep(60)
end




好吧,我知道创建那个数组是愚蠢的,但它仍然不应该做一些奇怪的事情....当我在屏幕会话中运行这个脚本时(即使我没有将它附加到&#34) ; alle_server"屏幕,迟早所有屏幕会话在同一时刻消失),但此时所有服务器从0到9都在线而不是关闭

是不是因为我尝试启动那个不存在的server10脚本?

ps:我不得不使用那段代码片段,因为代码中的反引号搞乱了

0 个答案:

没有答案