如果程式終止/關閉/崩潰,如何自動重新開啟程式?

如果程式終止/關閉/崩潰,如何自動重新開啟程式?

我創建了一個需要在電腦中始終運行的 Java JAR 程式。如果程式被關閉(因為用戶關閉它或因為它崩潰),我需要重新開啟程式。

我已經設法在每次登入電腦時自動啟動它,但如何才能讓它保持活動狀態?

我不確定這是否應該是一個程式設計問題。畢竟,自動啟動程式不是一個程式設計問題,所以我認為使它們持久化可能是類似的情況。

答案1

將其放入.bat/.cmd文件中。java根據您的需要調整調用。從自動啟動啟動 cmd 檔案。確保使用java,而不是javaw,因為您想等到它完成後再開始下次。

:start
"C:\Program Files\java\bin\java" -jar my.jar
goto start

答案2

有幾個程序可以用於此目的。一種稱為控制運行程序(CRP)。當遇到這個問題時,這是一個非常好的工具。

這是一個連結............

https://www.raymond.cc/blog/keep-application-running-by-automatically-rerun-when-close/

希望這能回答您的問題,如果沒有請告訴我。

答案3

stack Overflow 上有一個關於如何將 .bat 檔案轉換為服務的問題:

https://stackoverflow.com/a/13294293

這個問題的最佳答案是使用 nssm (http://nssm.cc/)。當你的bat檔案製作成服務時,它關閉時會自動重新啟動。

出於您的目的,在管理員提示中的用法類似於以下內容:

nssm install yourservicename yourbatfile.bat
nssm start servicename
nssm stop servicename

相關內容