进程管理工具(Supervisor) :
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服务可以设置自动启动等。并且可以监控程序运行状态,程序异常中断后自动启动,实现守护进程的功能。不仅支持图形界面操作,也完全支持命令行设置
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。