shell脚本实现jar包的启停

shell脚本实现jar包的启停

#!/bin/bash

#参数
param0=$0
param1=$1
param2=$2

#服务名称
service_names=('imcc-system.jar' 'imcc-auth.jar' 'imcc-gen.jar' 'imcc-gateway.jar' 'imcc-gateway-api.jar' 'imcc-platform.jar' 'imcc-job.jar' 'imcc-xxl-job-admin.jar' 'imcc-call.jar' 'imcc-doc.jar')
#启动命令
java_cmd="nohup java -Xms128m -Xmx256m -Dplumelog.log=false -Duser.timezone=GMT+8 -Duser.language=zh -Duser.country=CN -Dspring.cloud.nacos.server-addr=10.18.96.88:18848 -Dspring.profiles.active=wpzs"

#pid路径
pid_path="/ndata/wpzs/service-pids"

param1_length=$(expr length "$param1")
if [ $param1_length == 0 ]
then
	echo "启动服务"
	for service_name in ${service_names[@]}
	do
		#启动所有未启动的服务
		processNum=$(ps -ef| grep $service_name | grep -v grep | wc -l)
		if [ $processNum -eq 0 ]
		then
			$java_cmd -jar $service_name &
			service_name_prefix=(${service_name//./ })
			echo $! > $pid_path/${service_name_prefix[0]}.pid
			echo $service_name "正在启动中。。。"
		fi
	done
else
	if [ $param1 == '-s' ]
	then
		param2_length=$(expr length "$param2")
		if [ $param2_length -gt 0 ]
		then
			echo "启动指定服务 $param2" 
			$java_cmd -jar $param2 &
			service_name_prefix=(${param2//./ })
			echo $! > $pid_path/${service_name_prefix[0]}.pid
			echo  "$param2 正在启动中。。。"
		else
			echo "语法错误:$param1, 可以输入 '--help' 查询参数"
		fi
	elif [ $param1 == '-r' ]
	then
		param2_length=$(expr length "$param2")
		if [ $param2_length -gt 0 ]
		then
			echo "重启服务 $param2"
			#停止指定服务
			$param0 -e $param2
			$param0 -s $param2
		else
			echo "重启服务"
			$param0 -e
			$param0
		fi
	elif [ $param1 == '-e' ]
	then
		param2_length=$(expr length "$param2")
		if [ $param2_length -gt 0 ]
		then
			echo "停止指定服务 $param2" 
			service_name_prefix=(${param2//./ })
			pid=$(cat $pid_path/${service_name_prefix[0]}.pid)
			kill -9 $pid
		else
			echo "停止所有服务"
			for service_name in ${service_names[@]}
			do
				 service_name_prefix=(${service_name//./ })
				 pid=$(cat $pid_path/${service_name_prefix[0]}.pid)
				 kill -9 $pid
			done
		fi
	elif [ $param1 == '--help' ]
	then
		echo "不带参数表示启动所有服务"
		echo "-s   后面必须跟参数,表示启动指定服务"
		echo "-r   表示重启所有服务,后面跟参数表示重启指定服务"
		echo "-e   表示停止所有服务,后面跟服务名表示停止指定服务"
	else
		echo "参数错误:$param1, 可以输入 '--help' 查询参数"
	fi
fi
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌守

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值