中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么樣做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

苍梧县| 叙永县| 武邑县| 获嘉县| 芜湖市| 莱州市| 宁武县| 唐山市| 和平县| 宿迁市| 改则县| 崇仁县| 渭源县| 金溪县| 同仁县| 吉首市| 德钦县| 北宁市| 广昌县| 噶尔县| 奎屯市| 桃园市| 资讯| 晋宁县| 乌苏市| 乌拉特后旗| 神木县| 施秉县| 渝北区| 周宁县| 长泰县| 沛县| 积石山| 礼泉县| 荔波县| 舞阳县| 营口市| 安宁市| 唐河县| 沁源县| 江门市|