当前位置: 首页 > news >正文

在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service

在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service

1、在 /etc/rc.d/init.d/ 目录下创建一个名字和服务名完全相同的 shell 脚本文件 joyupx:
	vim joyupx
   /etc/rc.d/init.d/ 目录中存放的一般都是 shell 脚本文件,但是文件名不可以带后缀“.sh”;
   服务名必须与其 /etc/rc.d/init.d/ 目录下关联的配置文件名称完全相同,否则报找不到这样的服务;

2、在 joyupx 文件中加入如下代码:
	#!/bin/bash
	# 级别
	#chkconfig: 2345 80 90
	# 描述
	#description:joyupx service
	# 进程名
	#processname:joyupx-service
	
	# 我们的 jar 包所在的目录
	ROOT_PATH=/usr/local/services/tomcat/apache-tomcat-9.0.0.M9/webapps

	# JDK 的根目录
	JAVA_HOME=/usr/local/services/jdk/jdk1.8.0_91
	PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
	#    CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
	#    CLASSES=${CLASSPATH}:/usr/work/space1/bin

	#    export JAVA_HOME
	#    export PATH
	#    export CLASSPATH

	# source function library
	#. /etc/rc.d/init.d/functions

	start()
	{
	    echo -n $"Starting $prog: "
	# java -jar /usr/local/services/tomcat/apache-tomcat-9.0.0.M9/webapps/joyupx-service-jar-with-dependencies.jar
	     java -jar $ROOT_PATH/joyupx-service-jar-with-dependencies.jar
	# java -jar *.jar &
	    echo "joyupx service"
	#    java -version
	#    echo "CLASSPATH: ${CLASSPATH}"
	#    echo "PATH: ${PATH}"
	#    java -classpath $CLASSES MyFrame
	#    /usr/work/space1/bin/MyFrame start
	}

	stop()
	{
	    echo -n $"Stopping $prog: "
	    javac -version
	    # java -jar /usr/local/services/tomcat/apache-tomcat-9.0.0.M9/webapps/joyupx-service-jar-with-dependencies.jar
	}

	restart()
	{
	    echo -n $"Reloading $prog: "
	}

	case "$1" in
	    start)
		start
		;;
	    stop)
		stop
		;;
	    restart)
		restart
		;;
	    *)
		echo $"Usage: $0 {start|stop|restart}"
		RETVAL=1
	esac
	exit $RETVAL
  保存并退出:
	ESC
	:wq!

3、为 joyupx 赋可执行的权限:
	chmod a+x joyupx

4、启动 joyupx 服务:
	service joyupx start

5、查看 joyupx 的进程:
	ps -aux | grep joyupx

  

转载于:https://www.cnblogs.com/hapday/p/5861478.html

相关文章:

  • 盒模型基本概念
  • unity ugui消息透传
  • 转:FIFO和DMA
  • TCP确认延时和Nagle算法
  • Lua初学习 9-14_01 数据结构 --- 链表list (同名table)
  • 线程的共享资源和私有资源
  • Code[VS] 1022 覆盖 题解
  • Q: ossfs挂载时如何设置权限?
  • 拷贝(复制)构造函数和赋值函数
  • MFC静态分割后锁定分隔条/限制分隔条的移动范围 方法1
  • 异常 ORA-00257: archiver error. Connect internal only, until freed
  • 判断32位整数二进制中1的个数的算法
  • json化 datatable
  • 乐视云视频 接口开发 结合百度编辑器
  • css 布局
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 77. Combinations
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Cookie 在前端中的实践
  • CSS居中完全指南——构建CSS居中决策树
  • ECMAScript6(0):ES6简明参考手册
  • iOS编译提示和导航提示
  • javascript 哈希表
  • java概述
  • k8s如何管理Pod
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Rancher-k8s加速安装文档
  • Windows Containers 大冒险: 容器网络
  • 初识 webpack
  • 第2章 网络文档
  • 分布式任务队列Celery
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 记录:CentOS7.2配置LNMP环境记录
  • 技术发展面试
  • 技术胖1-4季视频复习— (看视频笔记)
  • 如何用vue打造一个移动端音乐播放器
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 阿里云ACE认证学习知识点梳理
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (13):Silverlight 2 数据与通信之WebRequest
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (六)vue-router+UI组件库
  • (四)库存超卖案例实战——优化redis分布式锁
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .net 反编译_.net反编译的相关问题
  • .NET 使用配置文件