簡體   English   中英

檢查Java應用程序是否已成功啟動init.d腳本

[英]Checking if Java application has succesfully being started init.d script

我有一個使用systemd調用的init.d腳本啟動的spring-boot rest服務器。 啟動服務器后,腳本認為它已成功。 這會導致出現問題,例如,如果服務器由於諸如端口已在使用之類的原因而失敗,則仍將認為服務器已成功。 我想出了一個解決方案,可以在循環中抓住日志文件的最后幾行,以確保沒有出錯,如果有出錯,則返回錯誤,但是我認為這有可能引入競爭條件並可能導致意外行為。 有沒有更好的方法可以使用?

您可以將以下內容添加到ur腳本中,該腳本會將腳本觸發器的所有輸出復制(>)到文件中,並從grep中將其用於ERROR

“觸發腳本的命令”> dump.txt findstr / I“錯誤” dump.txt

其中“ findstr”找到字符串,“ I”代表不區分大小寫並自定義您需要搜索的錯誤字符串

您可以向systemd詢問您的應用程序狀態:

 $ systemctl status your-app

或者您可以使用is-active

$ systemctl is-active your-app

如果您的應用程序處於活動狀態,則退出代碼將為0,否則為0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM