在Centos 中将 jar 作为服务启动
最近刚刚学了一些将Java程序打成jar包,并在Centos 中作为服务启动的知识,所以做一个小小的笔记。 以打好包的Demo-0.0.1.jar 为例: 启动脚本 Demo-service.sh
#!/bin/sh
export JAVA_HOME= #对应的 jdk 位置
export PATH=$JAVA_HOME/bin:$PATH
nohup java -jar /root/Demo-0.0.1.jar &
echo $! > /root/Demo.pid #将上一次启动的pid 写入到指定文件
停止脚本 Demo-service-stop.sh
#!/bin/sh
PID=$(cat ~/Demo.pid)
kill -9 $PID
编写注册服务 Demo.service 放到目录 /usr/lib/systemd/system
[Unit]
Description=Demo
After=network.target
[Service]
Type=forking
ExecStart=/root/Demo-service.sh #启动服务脚本的绝对路径
ExecStop=/root/Demo-service-stop.sh #停止服务脚本的绝对路径.
PrivateTmp=true
[Install]
WantedBy=multi-user.target
相关操作
systemctl start Demo #启动 Demo 服务
systemctl stop Demo #停止 Demo 服务
systemctl status Demo #查看 Demo 服务当前的运行状态
systemctl enable Demo #开机启动 Demo 服务
systemctl disable Demo #取消开机启动 Demo 服务
systemctl list-unit-files; #查看当前服务(是否开机启动等)状态
|