要在 CentOS 7.8 上设置开机自启动一个 Java 程序,可以使用 systemd 服务来管理这个进程。以下是具体步骤:
-
创建 Systemd 服务文件
首先,创建一个新的 systemd 服务文件。可以在
/etc/systemd/system目录下创建一个新的服务文件,例如pum-admin.service:sudo vi /etc/systemd/system/pum-admin.service -
编辑服务文件
在服务文件中,添加以下内容:
[Unit] Description=PUM Admin Service After=network.target [Service] Type=simple ExecStart=/usr/bin/java17/openjdk-17.0.2/bin/java -jar /www/wwwroot/pum/pum-admin.jar WorkingDirectory=/www/wwwroot/pum StandardOutput=append:/www/wwwroot/pum/log.log StandardError=append:/www/wwwroot/pum/log.log Restart=on-failure [Install] WantedBy=multi-user.target这里的
ExecStart是你启动 Java 程序的命令,WorkingDirectory是你的工作目录,StandardOutput和StandardError是日志文件的位置,Restart设置了在失败时自动重启。 -
重新加载 systemd 配置
创建或修改服务文件后,重新加载 systemd 配置:
sudo systemctl daemon-reload -
启用并启动服务
启用服务,使其在系统启动时自动启动:
sudo systemctl enable pum-admin.service立即启动服务:
sudo systemctl start pum-admin.service -
检查服务状态
可以检查服务是否正常运行:
sudo systemctl status pum-admin.service -
查看日志
日志会被写入到你在服务文件中指定的
log.log文件中。你可以通过以下命令查看日志:tail -f /www/wwwroot/pum/log.log
通过以上步骤,应该能够在 CentOS 7.8 上设置 Java 应用程序在开机时自动启动并运行。
重新启动服务命令
sudo systemctl restart pum-admin.service