崩潰時自動重啟過程

崩潰時自動重啟過程

我有一個運行本機程式碼的 Java 伺服器進程,並且由於本機程式碼問題而導致整個進程崩潰的可能性始終存在。 *nix 作業系統是否提供了任何機制,可以讓進程在異常存在時重新產生(退出狀態!= 0)?

是否有任何工具/實用程式可以透過同時提供一定程度的控制/配置來自動執行任何類型的流程的此任務?

答案1

有幾個選項 - 您始終可以將其包裝在一個簡短的 shell 腳本中,如下所示:-

#!/bin/sh

RC=1
while [ $RC -ne 0 ]; do
   ./my-java-app
   RC=$?
done

遠談不上優雅,但可能就夠了。

答案2

您正在尋找的通常稱為過程監控或過程監督。有許多工具可以執行此操作,通常是作為一組不同功能的一部分。暴發戶在Linux世界中越來越多地用於系統服務。莫尼特是我對非 root 啟動的程式嘗試的第一件事,但還有很多替代方案。

相關內容