1.cofig.ini文件 

[MonitorProgramPath]
ProgramPath:C:\Program Files\Google\Chrome\Application\chrome.exe
[MonitorProcessName] 
ProcessName:chrome.exe

2.cofigDemo.py

# -*- encoding: utf-8 -*-
import wmi
import os
import time
from configparser import ConfigParser

CONFIGFILE = 'config.ini'
config = ConfigParser()
config.read(CONFIGFILE)
ProgramPath = config.get('MonitorProgramPath', 'ProgramPath')
ProcessName = config.get('MonitorProcessName', 'ProcessName')
# 读取配置文件中的进程名和系统路径,这2个参数都可以在配置文件中修改
ProList = []
# 定义一个列表
c = wmi.WMI()


def main():
    for process in c.Win32_Process():
        ProList.append(str(process.Name))
    # 把所有任务管理器中的进程名添加到列表
    if ProcessName in ProList:
        # 判断进程名是否在列表中,如果是True,则所监控的服务正在 运行状态,
        print("服务运行中")
    else:
        print("服务正在启动")
        os.startfile(ProgramPath)
        # 调用服务重启
    del ProList[:]
# 清空列表,否则列表会不停的添加进程名,会占用系统资源

if __name__ == "__main__":
    while True:
        main()
        time.sleep(10)
    # 每隔10秒调用脚本看下服务是否正常,如果不正常则重启服务,如果正常,则打印服务正常