systemd自啟動java程序


一、背景條件

1. Linux系統是Debian 8

2. Java程序是test.jar,安裝路徑是/home/test/test.jar

二、編寫java的啟動腳本

startTest.sh

#!/bin/sh
java -jar /home/test/test.jar &
echo $! > /var/run/test.pid

三、編寫java的停止腳本

stopTest.sh

#/bin/sh
PID=$(cat /var/run/test.pid)
kill -9 $PID
rm -fr /var/run/test.pid

四、編寫testJava.service

[Unit]
Description=TestJava
After=network.target

[Service]
Type=forking
ExecStart=/home/test/startTest.sh
ExecStop=/home/test/stopTest.sh

[Install]
WantedBy=multi-user.target

五、添加到自啟動

systemctl enable testJava

六、測試

啟動: systemctl start testJava
停止: systemctl stop testJava

附、tomcat自啟動service的配置

[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/apache-tomcat-8.5.20/tomcat.pid
ExecStart=/usr/local/apache-tomcat-8.5.20/bin/catalina.sh start
ExecReload=/usr/local/apache-tomcat-8.5.20/bin/catalina.sh restart
ExecStop=/usr/local/apache-tomcat-8.5.20/bin/catalina.sh stop

[Install]
WantedBy=multi-user.target

1. 需要在catalina.sh中添加CATALINA_PID的參數配置和PID一致。

2. tomcat.service文件放置路徑 /lib/systemd/system/


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM