Java服务配置开机自启-CentOS 7
创建开始和结束脚本
在你的jar目录下创建两个脚本
touch start.sh chmod +x start.sh touch stop.sh chmod +x stop.sh
这是启动java服务和停止java服务的两个脚本,具体命名可以自己写自己的
start.sh内容
#!/bin/bash # 这里是JDK安装的环境变量,自己改成自己的路径即可 export JAVA_HOME=/usr/jdk1.8.0_211 export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH=$PATH:${JAVA_HOME}/bin echo "************ KILL Java Service Will Begin **************" #得到对应服务的进程号 关闭tomcat str=`ps -ef | grep xxxxx你的jar文件xxxxx.jar | grep -v "grep"|awk '{print $2}'` kill -9 $str if [ "$?" -eq 0 ]; then echo "killed pid is "$str echo "kill success" else echo "kill failed" fi echo "************ KILL Java Service Will End**************" nowDate=`date +"%Y-%m-%d"` # 跳转到jar存放的目录 cd /xx/xx/xxxx # 执行挂起命令 nohup java -jar xxxxx你的jar文件xxxxx.jar & # 跳转到jar存放的目录 cd /xx/xx/xxxx #休眠5秒自动删除nohup.out文件 sleep 5 rm -rf nohup.out nowstr=`ps -ef | grep personloger-boot-oa-0.0.1-SNAPSHOT.jar | grep -v "grep"|awk '{print $2}'` #打印出现在新的进程号 echo "now pid is "$nowstr echo "************ Personloger-OA is Running... **************"
stop.sh 的内容
#!/bin/bash echo "************ KILL Java Service Will Begin **************" #得到对应服务的进程号 关闭tomcat str=`ps -ef | grep xxxxx你的jar文件xxxxx.jar | grep -v "grep"|awk '{print $2}'` kill -9 $str if [ "$?" -eq 0 ]; then echo "killed pid is "$str echo "kill success" else echo "kill failed" fi echo "************ KILL Java Service Will End**************"
注意:一定要给start和stop进行权限修改 chmod +x xxx.sh
编写注册服务
vim /usr/lib/systemd/system/somejar.service
名称自定义
Description=可以自定义描述 After=network.target [Service] Type=forking ExecStart=刚刚写的那个start #启动服务脚本的绝对路径 ExecStop=刚刚写的那个stop #停止服务脚本的绝对路径. PrivateTmp=true [Install] WantedBy=multi-user.target
将服务设为开机启动
systemctl enable somejar.service # 设置完后重启 reboot
常用命令
systemctl start somejar.service #启动 服务 systemctl stop somejar.service #停止 服务 systemctl status somejar.service #查看 服务当前的运行状态 systemctl enable somejar.service #开机启动 服务 systemctl disable somejar.service #取消开机启动 服务 systemctl list-unit-files; #查看当前服务(是否开机启动等)状态
Linux系统 文章被收录于专栏
主要应对运维化变成,对服务器的研究与学习,个人侧重CentOS开源免费系统