systemctl java jar 添加jar文件开机启动项

摘要:
这样,程序将被关闭,那些不了解系统的人可能不知道它需要启动。因此,这里我们使用Centos7系统附带的systemctl管理来实现自动管理。2.创建系统文件#的路径必须写清楚。Systemctl应该编写vim/etc/init的内容。d/zuul#zuul文件#根据/bin/bashPID_ PATH=/var/run/zuul-service.pidService _ Name=zuul servicecase“$1”龄)/zuul service/zuul start.sh;;stop)终止$rm${PID_PATH};;restart)$0stop$0start;;状态),如果[-e${PID_PATH}];theecho“${Service_Name}正在运行,pid=$”elseecho“${Services_Name}不运行”exit1fi;;*)Echo“用法:$0{start | stop | status | restart}”esacexit0#授予执行权限chmoda+x/etc/init.d/zuul 3。创建启动脚本vim/zuul service/zuul start的内容。sh#zuul启动文件#/Bin/bash#启动命令/usr/Bin/java jar/zuul service/rocket-zuul-0.0.1-SNAPSHOT.jar˃˃/zuul service/zuul。log2˃&1##将pid写入文件echo$!

转载自:https://blog.csdn.net/slqgenius/article/details/85778578

一,原由

因为使用 nohup 和 & 这种方式启动jar包的话,只会放在后台里面执行,如果某天,人为或机器故障等原因,触发重启了。那样程序就会关闭,不清楚系统的人,可能都不知道这个需要启动。

所以,这里使用Centos7系统自带的systemctl管理实现一个开启自动管理

二,创建系统文件

# 路径一定要写清楚,systemctl要根据这个来编写

vim /etc/init.d/zuul

#zuul文件的内容 

  1. #!/bin/bash
  2. PID_PATH=/var/run/zuul-service.pid
  3. Service_Name=zuul-service
  4.  
  5. case "$1" in
  6. start)
  7. /zuul-service/zuul-start.sh
  8. ;;
  9. stop)
  10. kill $(cat ${PID_PATH})
  11. rm ${PID_PATH}
  12. ;;
  13. restart)
  14. $0 stop
  15. $0 start
  16. ;;
  17. status)
  18. if [ -e ${PID_PATH} ];then
  19. echo "${Service_Name} is running, pid=$(cat ${PID_PATH})"
  20. else
  21. echo "${Service_Name} is NOT running"
  22. exit 1
  23. fi
  24. ;;
  25. *)
  26. echo "Usage: $0 {start|stop|status|restart}"
  27. esac
  28.  
  29. exit 0

 #赋予执行权限

chmod a+x /etc/init.d/zuul

 

三,创建启动脚本

vim /zuul-service/zuul-start.sh

#zuul-start文件的内容 

 
  1. #!/bin/bash
  2. #启动命令
  3. /usr/bin/java -jar /zuul-service/rocket-zuul-0.0.1-SNAPSHOT.jar >> /zuul-service/zuul.log 2>&1 &
  4. #将pid写进文件
  5. echo $! > /var/run/zuul-service.pid

 #赋予执行权限

chmod a+x /zuul-service/zuul-start.sh
 

四,将服务添加进systemctl进行管理

vim  /usr/lib/systemd/system/zuul.service

 #zuul.service文件的内容 

  1. [Unit]
  2. Documentation=zuul-service
  3.  
  4. [Service]
  5. User=root
  6. Group=root
  7. Type=forking
  8. Restart=no
  9. KillMode=process
  10. ExecStart=/etc/rc.d/init.d/zuul start
  11. ExecStop=/etc/rc.d/init.d/zuul stop
  12.  
  13. [Install]
  14. WantedBy=multi-user.target

#启动zuul 

systemctl daemon-reload
systemctl enable zuul
systemctl start zuul

systemctl java jar 添加jar文件开机启动项第1张

  1. CentOS7自定义系统服务
  2.  
  3. CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下.
  4. CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install] 
  5.  
  6. [Unit]部分主要是对这个服务的说明,内容包括Description和After,Description 用于描述服务,After用于描述服务类别
  7.  
  8.  
  9. [Service]部分是服务的关键,是服务的一些具体运行参数的设置.
  10.  
  11. # 设置服务运行的用户
  12. User=users
  13.  
  14. # 设置服务运行的用户组
  15. Group=users
  16.  
  17. # 设置进程的启动类型
  18. Type=forking
  19.  
  20. # 服务重启策略
  21. Restart=no
  22.  
  23. # 杀掉进程的策略
  24. KillMode=process
  25.  
  26. # 服务的具体运行命令
  27. ExecStart
  28.  
  29. # 停止命令
  30. ExecStop
  31.  
  32. # 重置命令
  33. ExecReload
  34.  
  35. # 存放PID的文件路径,
  36. PIDFile
  37.  
  38. # 环境变量
  39. Environment="JAVA_HOME=/usr/local/jdk1.8.0_181"
  40.  
  41. # 表示给服务分配独立的临时空间
  42. PrivateTmp=True
  43.  
  44. 注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!

五、systemctl管理命令

#设置开机自启

systemctl enable zuul

#关闭开机自启

systemctl disable zuul

#启动服务

systemctl start zuul

#停止服务

systemctl stop zuul

#重启服务

systemctl restart zuul

#查看服务状态

systemctl status zuul

#检查开机自启状态

systemctl is-enabled zuul


免责声明:文章转载自《systemctl java jar 添加jar文件开机启动项》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇FPGA配置方式[SC] OpenSCManager 失败 5:拒绝访问下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

zabbix-agent安装

http://repo.zabbix.com/zabbix/3.2/ #官网下载 ftp://47.104.78.123/zabbix/zabbix-agent/linux/  #提供下载 安装zabbix-agent客户端  首先下载对应系统的版本包 [root@zbx source]# rpm -ivh zabbix-agent-3.2.0-1.el7...

台式机安装CentOS7.6 Minimal ISO系统并增加图形化桌面

需求:公司测试环境因业务原因,需要在台式电脑上安装带桌面的CentOS系统,因同事有一个7.6版本Minimal ISO镜像的安装U盘,为了图方便没有去下载everything ISO镜像,而是待同事安装好最小化系统后我来添加桌面。系统安装参考如下链接:https://jingyan.baidu.com/article/59703552b61eb78fc0...

python面试题库——1Python基础篇

第一部分 Python基础篇(80题) 为什么学习Python?             语言本身简洁,优美,功能超级强大,跨平台,从桌面应用,web开发,自动化测试运维,爬虫,人工智能,大数据处理都能做         Python和Java、PHP、C、C#、C++等其他语言的对比?                C语言由于其底层操作特性和历史的积累...

service之class core和class main

class core 和class main有何不同 在分析Kitkat加密功能的时候,在一些资料上看到一句话“对于加密后的系统,重启后,进入到输入密码界面,此时并没有完全加载Android系统,仅仅加载必要的服务” 那么这个必要的服务又是指的是那些服务呢? 在解答这个问题前我们先区分一下class core ,class main, class late...

WkHtmlToPdf 生成 PDF

1. 首先去http://wkhtmltopdf.org/downloads.html 下载最新版本的安装包 2. 执行安装完成 3. CMD 命令行运行wkhtmltopdf.exe程序生成PDF C:Program Fileswkhtmltopdfin>wkhtmltopdf.exe --orientation Landscape --javas...

Asp.net 中HttpHandler,HttpModule,IHttpHandlerFactory的原理与应用(一)

最近对页面的生命周期比较感兴趣,看了一些牛人们写的文章,感觉似懂非懂(仍需要继续努力^_^).   生命周期中涉及到几个非常重要的对象:HttpHandler,HttpModule,IHttpHandlerFactory,他们的执行(顺序)和IIS又有着莫大的联系(回头琢磨清楚了再补上这一篇)。大致的执行过程是这样的:client端发送页面请求,被IIS的...