文章目录
- 前言
前言
#!/usr/bin/env bash
#可变参数变量
#部署磁盘路径
baseDirPath=/data/apps/java/smj-exchange-upload
#jar包名称
packageName=smj-exchange-upload.jar #命令启动包名 xx.jar的xx
pid= #进程pid
#检测pid
getPid(){
echo "检测状态---------------------------------------------"
pid=`ps -ef | grep -n ${packageName} | grep -v grep | awk '{print $2}'`
if [ ${pid} ]
then
echo "运行pid:${pid}"
else
echo "未运行"
fi
}
#启动程序
function start()
{
#启动前,先停止之前的
stop
if [ ${pid} ]
then
echo "停止程序失败,无法启动"
else
echo "启动程序---------------------------------------------"
#进入运行包目录
cd ${baseDirPath}
nohup java -jar ${packageName} >/dev/null 2>&1 &
# java -jar ${baseDirPath}/${packageName}
#查询是否有启动进程
getPid
if [ ${pid} ]
then
echo "已启动"
#nohup日志
tail -f nohup.out
else
echo "启动失败"
fi
fi
}
#停止程序
function stop()
{
getPid
if [ ${pid} ]
then
echo "停止程序---------------------------------------------"
kill -9 ${pid}
getPid
}
#停止程序
function stop()
{
getPid
if [ ${pid} ]
then
echo "停止程序---------------------------------------------"
kill -9 ${pid}
getPid
if [ ${pid} ]
then
#stop
echo "停止失败"
else
echo "停止成功"
fi
fi
}
#启动时带参数,根据参数执行
if [ ${#} -ge 1 ]
then
case ${1} in
"start")
start
;;
"restart")
start
;;
"stop")
stop
;;
# "unzip")
# #执行解压
# shenniu_unzip
# #执行启动
# start
# ;;
*)
echo "${1}无任何操作"
;;
esac
else
echo "
command如下命令:
start:启动
stop:停止进程
restart:重启
示例命令如:./upload_start start
"
fi
注意:
- 遇到权限不够
执行 chmod u+x ./upload_start.sh
- 没有目录或者文件 是因为Windows格式和Linux格式不一致
执行 vim upload_start.sh 编辑文件
:set ff=unix
:eq
接下来就是见证奇迹的时刻了