91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么樣做ruby單實例程序

發布時間:2020-07-31 06:29:27 來源:網絡 閱讀:354 作者:不夠執著 欄目:編程語言

    單實例程序即程序只有一個執行程序,ruby編寫的腳本程序怎么做到這個功能呢?

 

我是這樣來解決這樣這個問題的,每次腳本跑起來后是通過系統查詢進程是否有多個相同的運行的實例,如果有則殺掉除第一個啟動的所有進程。具體代碼如下:

 

        #保留最早啟動的一個交換服務
        def self.keep_first_switcher_srv()
            #查找系統,找到所有的交換服務
            info = IO.popen(%q{wmic process where "CommandLine like '%switcher_master%' and Caption like '%ruby%'" get CreationDate,Handle})
            data_info = []
            info.readlines.each do|line|
                if(line =~ /\d/)
                    data_info << line.strip.split
                end
            end
            #如果找到多個交換服務,則殺掉所有后啟動的交換服務,保留最先啟動的交換服務
            if(data_info.size > 1)
                min = data_info.map{|item| item[0]}.min
                data_info.each do|line|
                    if(!line.include?(min))
                        `taskkill /f /pid #{line[1]} /t`
                    end
                end
            end
        end

 

核心代碼:

wmic process where "CommandLine like '%switcher_master%' and Caption like '%ruby%'" get CreationDate,Handle

運行這條命令來查詢:程序的啟動命令含有ruby和swithcer_master的命令的進程,返回進程的創建時間和進程id句柄號。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

米林县| 唐海县| 巴林左旗| 浦城县| 论坛| 海淀区| 安多县| 郴州市| 炉霍县| 祁东县| 永州市| 封丘县| 泰安市| 锦州市| 和田县| 琼结县| 鹰潭市| 乌什县| 菏泽市| 深州市| 双城市| 济源市| 沾益县| 无极县| 长垣县| 那坡县| 皋兰县| 睢宁县| 益阳市| 遂平县| 全州县| 南雄市| 鄢陵县| 长泰县| 灌云县| 巴林左旗| 呼伦贝尔市| 东光县| 稷山县| 德格县| 西乌珠穆沁旗|