我们正在研究在后台套接字中使用node-js来继续响应Web应用程序的项目。在这之间,有时某些过程会自动停止。
我们想知道如何永远检查所有正在运行的进程。
我们正在使用sudo forever列表来列出所有进程。有什么方法可以在.sh(shell脚本文件)中使用此命令(永久列表)来检查我的特定进程,如responsclient是否正常工作。如果该特定程序无法正常工作,那么我们需要启动该程序。
答案 0 :(得分:0)
有几种解决方案可确保您的服务始终运行。
其中之一甚至被称为forever
。这里有express准备的概述。
但是,对于生产服务,我建议passenger的结果几乎相同,但可伸缩性更大。例如,您可以配置为自动添加另一个实例。
几乎-因为它旨在确保HTTP的可用性,而不是确保应用程序的持续运行。
顺便说一句:服务停止,因为您有未捕获的异常。
如果您坚持使用forever
,那么:(我们在谈论同一个forever?)
forever
由同一用户运行。 forever
为所有用户设有单独的管理员。cron
自动运行与手动启动(env
中的变量不同))forever
具有--pidFile
-然后,很容易检查该过程是否正常ps -aux | grep node
也应该是你的大朋友。不,我没有将其合并。当我开始遇到问题时,我切换到passenger
。最终,我做到了,因为我有了专业的监控,与搜寻如何将上述各点结合在一起所花费的时间相比,我花费的时间更少。