网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

怎么样做ruby单实例程序

    单实例程序即程序只有一个执行程序,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句柄号。


文章题目:怎么样做ruby单实例程序
分享链接:http://bjjierui.cn/article/jisiio.html

其他资讯