在CentOS上,您可以使用Systemd或Cron來實現Java服務的自動重啟。這里是兩種方法的詳細步驟:
方法一:使用Systemd
sudo vi /etc/systemd/system/my-java-app.service
將my-java-app
替換為您的Java應用程序的名稱。
[Unit]
Description=My Java Application
After=syslog.target network.target
[Service]
User=<your-user>
ExecStart=/usr/bin/java -jar /path/to/your/app.jar
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
將<your-user>
替換為您運行Java應用程序的用戶,將/path/to/your/app.jar
替換為您的Java應用程序的JAR文件路徑。
保存并關閉服務文件。
重新加載Systemd配置:
sudo systemctl daemon-reload
sudo systemctl start my-java-app.service
sudo systemctl enable my-java-app.service
sudo systemctl status my-java-app.service
方法二:使用Cron
crontab -e
<your-user>
替換為您運行Java應用程序的用戶,將/path/to/your/app.jar
替換為您的Java應用程序的JAR文件路徑。* * * * * <your-user> /usr/bin/java -jar /path/to/your/app.jar >/dev/null 2>&1 || /usr/bin/systemctl restart my-java-app.service
現在,您的Java服務將每分鐘檢查一次運行狀況,并在需要時自動重啟。如果您希望更改檢查頻率,只需調整Cron表達式即可。