在 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 服務。請注意,這些步驟可能因您的具體環境和需求而略有不同。