web-project 故障查看功能 检测是否启动fmd服务

def check_fmd_service():
    try:
        output = subprocess.check_output('svcs -H -o state fmd',shell=True)
        state = output.decode('UTF-8').strip()
        if state == 'online':
            return True
        elif state == 'disabled':
            subprocess.call('svcadm enable fmd',shell=True)
            log_debug('enable fmd svc.')
        elif state == 'maintenance':
            subprocess.call('svcadm clear fmd',shell=True)
            log_debug('clear fmd svc.')
            
        '''wait'''
        for i in range(5):
            output = subprocess.check_output('svcs -H -o state fmd',shell=True)
            state = output.decode('UTF-8').strip()
            if state == 'online':
                return True
            time.sleep(1)
    except:
        pass
    
    log_debug('check and online fmd svc failed.')
    return False

 

posted @ 2014-06-27 13:58  fendou999  阅读(234)  评论(0编辑  收藏  举报