#!/bin/bash
#这里可替换为你自己的执行程序
APP_NAME=wx_scene_data_analysis_task.jar
#这里可替换为你自己的jar包目录
APP_DIR=/homexxx/task_netid
#APP_DIR=pwd
#使用说明,用来提示输入参数
usage() {
echo “Usage: sh xxx.sh [start|stop|restart|status]”
exit 1
}
#检查程序是否在运行
is_exist(){
pid=ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'
echo “ps number is: KaTeX parse error: Expected 'EOF', got '#' at position 9: {pid}" #̲如果不存在返回1,存在返回0 …{pid}” ]; then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [
?
−
e
q
"
0
"
]
;
t
h
e
n
e
c
h
o
"
? -eq "0" ]; then echo "
?−eq"0"];thenecho"{APP_NAME} is already running. pid=${pid} ."
else
nohup java -jar
A
P
P
D
I
R
/
APP_DIR/
APPDIR/APP_NAME > $APP_DIR/log.out 2>&1 &
#nohup java -jar
A
P
P
D
I
R
/
APP_DIR/
APPDIR/APP_NAME
echo “${APP_NAME} start success”
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq “0” ]; then
kill -9
p
i
d
e
l
s
e
e
c
h
o
"
pid else echo "
pidelseecho"{APP_NAME} is not running"
fi
}
#输出运行状态
status(){
is_exist
if [
?
−
e
q
"
0
"
]
;
t
h
e
n
e
c
h
o
"
? -eq "0" ]; then echo "
?−eq"0"];thenecho"{APP_NAME} is running. Pid is
p
i
d
"
e
l
s
e
e
c
h
o
"
{pid}" else echo "
pid"elseecho"{APP_NAME} is NOT running."
fi
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case “$1” in
“start”)
start
;;
“stop”)
stop
;;
“status”)
status
;;
“restart”)
restart
;;
*)
usage
;;
esac