windows通过python脚本重启本地redis

1.检查redis server是否运行正常

def check_server():
    conn = redis.StrictRedis(
        host="127.0.0.1",
        port=6379,
        db=0,
        socket_timeout=5,           # 发出命令接收响应的时间不能超过此参数设置时间
        socket_connect_timeout=5    # 建立连接超时时间
    )
    flag = False
    try:
        res = conn.get('a')
        flag = True
    except Exception as e:
        # print('check_server error: %s' % e)
        print(traceback.format_exc())
    return flag

2.获取redis server进程id

def get_server_pid():
    import psutil
    spid = 0
    for process in psutil.process_iter():
        # info = process.as_dict(attrs=['name', 'pid'])
        name = process.name()
        pid = process.pid
        if name == 'redis-server.exe':
            # print(pid, type(pid))
            spid = pid
            break
    return spid

3.关掉之前的进程

def do_kill(pid):
    cmd = 'taskkill /pid ' + str(pid) + ' /f'
    try:
        os.system(cmd)
    except Exception as e:
        print('do_kill error: %s, pid: %s' % (e, pid))

4.重启redis server

def restart_redis_server():
    # 直接通过命令行启动redis server,无法得到之前redis server的数据,所以采用这种方式重启redis
    cmd = r'start C:\work\redis_server_restart.bat'
    # print(cmd)
    result = 10086
    try:
        result = os.system(cmd)
    except Exception as e:
        print('restart restart_redis_server: %s' % e)
    return result

对应的redis_server_restart.bat脚本:

@echo off
title redis-server
::set ENV_HOME="D:\redis"
::D:
set ENV_HOME="C:\Users\Administrator\Desktop\redis"
C:
color 0a
cd %ENV_HOME%
redis-server.exe redis.windows.conf
::exit

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值