如果某个名称的所有进程都崩溃了,我该如何运行命令?

如果某个名称的所有进程都崩溃了,我该如何运行命令?

我在运行 Ubuntu 的 VPS 上运行一个 dotnet 应用程序,并且该应用程序必须全天候连续运行。当我启动该应用程序时,我使用“nohup dotnet (name).dll”,在 HTOP 中,这些进程只会附加命令“dotnet (name).dll”。但是,由于应用程序的性质,它必须在多个进程中运行,这意味着多个 PID。我看到过多个进程崩溃时重新启动的示例,但据我所知,它们似乎都是基于 PID。我需要什么样的脚本来查找停止运行并运行几行代码的“dotnet”命令(包括 sleep 命令,以便它不会在进程已经启动时再次重新启动它),以及如何确保它在后台持续运行?

答案1

其实有很多方法可以实现这个目标,它可以从琐碎的本土方法开始(例如,while true; do my_process; done附言:不要这么做)) 到更复杂的模式(例如涉及my_process.pid初始化脚本和自定义日志文件轮换)...但在深入研究之前,请先查看完成相同任务的现有解决方案。例如:导师(也可以看看本教程) 或者监控,均可以通过 获得apt install ...,但都需要一些额外的配置。

相关内容