使用systemd管理java的jar包服务
程序员文章站
2022-05-02 07:55:48
...
一、编写启动和停止脚本
#### 启动脚本
# cat /usr/local/bin/start.sh
#!/bin/bash
export JAVA_HOME="/usr/java/jdk1.8.0_211"
export PATH=$JAVA_HOME/bin:$PATH
ServiceName=$1
CMD_PATH="/opt/services/ds/${ServiceName}"
cd $CMD_PATH/
chmod 755 ${CMD_PATH}/${ServiceName}.jar
nohup java -jar -Xms512m -Xmx1024m ${CMD_PATH}/${ServiceName}.jar &
echo $! > $CMD_PATH/logs/${ServiceName}.pid
#### 停止脚本
# cat /usr/local/bin/stop.sh
#!/bin/bash
ServiceName=$1
CMD_PATH="/opt/services/ds/${ServiceName}"
PID=$(cat $CMD_PATH/logs/${ServiceName}.pid)
kill -9 $PID
rm -f nohup.out
二、将服务使用systemd管理服务
# cat /usr/lib/systemd/system/smsd.service
# Systemd unit file for tomcat
[Unit]
Description=sms service daemon
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME="/usr/java/jdk1.8.0_211"
ExecStart=/usr/local/bin/start.sh "sms-service"
ExecStop=/usr/local/bin/stop.sh "sms-service"
#ExecReload=/usr/local/bin/restart.sh "sms-service"
PrivateTmp=true
User=app
Group=app
[Install]
WantedBy=multi-user.target
三、测试
systemctl daemon-reload
systemctl start smsd
systemctl stop smsd
systemctl enable smsd
上一篇: day 19 反射
推荐阅读
-
java连接mysql的jar包没有bin(mysql可视化管理工具)
-
java连接mysql的jar包没有bin(mysql可视化管理工具)
-
在阿里云服务器上部署java的jar包项目
-
使用systemd管理java的jar包服务
-
记一次SpringCloud把SpringBoot项目打成jar包使用java -jar命令执行 命令行参数无效,没有生效的问题
-
使用Maven构建dubbo服务可执行的jar包
-
Dubbo服务的运行方式(使用maven构建dubbo可执行的jar包)
-
java spring使用DefaultResourceLoader读取jar包,classpath,本地以及网络上的资源文件
-
使用Maven管理项目时,本地仓库有对应的jar包,但还是报找不到