监听某个进程的状态

import psutil
import os
# from log_utils import LOG as log


def supervisor_status():
    """
    获取supervisor的运行状态
    :return:
    """
    try:
        pids = psutil.pids()
    except Exception as e:
        # log.error("获取PID列表异常,详情:{0}".format(e))
        pids = []

    status = False
    try:
        for pid in pids:
            p = psutil.Process(pid)
            if p.name() == "supervisord":
                status = True
                break
            else:
                status = False
    except Exception as e:
        # log.error("查询supervisord进程状态异常,详情:{0}".format(e))
        status = False
    return status

杀死某个进程


def kill_supervisor():
    """
    杀死指定进程
    :return:
    """
    try:
        pids = psutil.pids()
    except Exception as e:
        log.error("获取PID列表异常,详情:{0}".format(e))
        pids = []

    try:
        for pid in pids:
            p = psutil.Process(pid)
            if p.name() == "supervisord":
                os.popen("kill {0}".format(pid), mode="w")
                # log.info("执行 kill {0} 语句成功,supervisord进程已关闭".format(pid))
                break
    except Exception as e:
        # log.error("关闭supervisord进程异常,详情:{0}".format(e))
        pass
打赏

发表评论

邮箱地址不会被公开。 必填项已用*标注