阅读量:129
在CentOS上,您可以使用Systemd或Cron来实现Java服务的自动重启。这里是两种方法的详细步骤:
方法一:使用Systemd
创建一个新的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=
ExecStart=/usr/bin/java -jar /path/to/your/app.jar
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
将替换为您运行Java应用程序的用户,将/path/to/your/app.jar替换为您的Java应用程序的JAR文件路径。
保存并关闭服务文件。
重新加载Systemd配置:
sudo systemctl daemon-reload
启动Java服务:
sudo systemctl start my-java-app.service
设置Java服务在系统启动时自动运行:
sudo systemctl enable my-java-app.service
检查Java服务的状态:
sudo systemctl status my-java-app.service
方法二:使用Cron
打开Cron配置文件:
crontab -e
添加以下行以每分钟检查Java进程并在需要时重启它。将替换为您运行Java应用程序的用户,将/path/to/your/app.jar替换为您的Java应用程序的JAR文件路径。
* * * * * /usr/bin/java -jar /path/to/your/app.jar >/dev/null 2>&1 || /usr/bin/systemctl restart my-java-app.service
保存并关闭Cron配置文件。
现在,您的Java服务将每分钟检查一次运行状况,并在需要时自动重启。如果您希望更改检查频率,只需调整Cron表达式即可。