在 CentOS 系统中,启动和停止 Java 服务通常是通过 Systemd 或者 init 脚本来完成的。以下是两种方法的详细步骤:
方法一:使用 Systemd
/etc/systemd/system/my-java-app.service
。请将 my-java-app
替换为您的 Java 应用程序的名称。sudo vim /etc/systemd/system/my-java-app.service
[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-abort
RestartSec=10
[Install]
WantedBy=multi-user.target
请将 <your-user>
替换为运行 Java 应用程序的用户,将 /path/to/your/app.jar
替换为您的 JAR 文件的实际路径。
保存并关闭服务文件。
重新加载 Systemd 配置以识别新创建的服务:
sudo systemctl daemon-reload
sudo systemctl start my-java-app
sudo systemctl stop my-java-app
sudo systemctl enable my-java-app
方法二:使用 init 脚本
/etc/init.d/my-java-app
。请将 my-java-app
替换为您的 Java 应用程序的名称。sudo vim /etc/init.d/my-java-app
#!/bin/bash
# chkconfig: 2345 99 01
# description: My Java Application
USER=<your-user>
APP_PATH=/path/to/your/app.jar
PID_FILE=/var/run/my-java-app.pid
start() {
echo "Starting Java application..."
nohup /usr/bin/java -jar $APP_PATH > /dev/null 2>&1 &
echo $! > $PID_FILE
}
stop() {
echo "Stopping Java application..."
kill $(cat $PID_FILE)
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: /etc/init.d/my-java-app {start|stop|restart}"
exit 1
esac
exit 0
请将 <your-user>
替换为运行 Java 应用程序的用户,将 /path/to/your/app.jar
替换为您的 JAR 文件的实际路径。
保存并关闭 init 脚本。
使 init 脚本可执行:
sudo chmod +x /etc/init.d/my-java-app
sudo /etc/init.d/my-java-app start
sudo /etc/init.d/my-java-app stop
sudo chkconfig --add my-java-app
sudo chkconfig my-java-app on
现在,您已经学会了如何在 CentOS 系统中启动和停止 Java 服务。请注意,这些步骤可能因您的具体环境和需求而略有不同。