重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
进程管理工具(Supervisor) :
创新互联是一家专业提供南芬企业网站建设,专注与成都做网站、成都网站制作、H5响应式网站、小程序制作等业务。10年已为南芬众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
Supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。
这里有一篇也有用到 Supervisord,并且是一个部署 Flask 的 Web 应用的过程:
https://mp.weixin.qq.com/s/hGfG7e2xQZeXTwijlbMmbA
上面的工具不支持Windows,大概因为Windows不需要?
计划任务可以自动重启挂掉的进程。
taskschd.dll 可以用 vbs/js 脚本或者 C#/C++等语言调用,自动生成任务。当然也可以图形化界面来手动设置。
将任务设置成开机启动,然后设置任务失败重新启动,应该就可以让程序在运行失败后重新启动了。
用这个应该是最方便的了。
如果让程序作为 “windows 的服务”,监控这些基本功能 windows 是自带的。
所以只需要实现Windows服务注册。这可以写在代码里,找一下现成的库。
也可以使用现成工具来实现:
NSSM(the Non-Sucking Service Manager)是Windows环境下一款免安装的服务管理软件,它可以将应用封装成服务,使之像windows服务可以设置自动启动等。并且可以监控程序运行状态,程序异常中断后自动启动,实现守护进程的功能。不仅支持图形界面操作,也完全支持命令行设置