python-监听某个进程状态并通过os.popen执行shell语句
监听某个进程的状态
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