1.一键启动、停止、重启 java项目
2.创建.sh文件
vi
XXX.sh
3.编写shell脚本
#!/bin/sh
port=8080
#定义变量等号左右不能有空格
jar_name=
/opt/oaclou/XXX
.jar
#运行脚本提示信息
tips(){
echo
"-------------------------------------"
echo
""
echo
"项目端口: ${port}"
echo
"项目地址: ${jar_name}"
echo
""
echo
"你可以使用如下参数进行操作"
echo
"-status -查看当前项目运行状态"
echo
"-start -启动当前项目"
echo
"-stop -停止当前项目"
echo
"-restart -重启当前项目"
echo
""
echo
"-------------------------------------"
}
#查看状态
status(){
#查询端口的PID {print $7}-取出打印的第七个值
pid=`
netstat
-apn |
grep
$port |
awk
‘{print $7}‘
|
cut
-d/ -f 1`
#判断端口是否被占用
if
[ -z
"${pid}"
];
then
echo
"没有项目在运行"
else
echo
"项目正在运行中"
fi
}
#启动项目
start(){
pid=`
netstat
-apn |
grep
$port |
awk
‘{print $7}‘
|
cut
-d/ -f 1`
if
[ -z
"${pid}"
];
then
echo
"正在启动......"
java -jar -Xms1024m -Xmx1024m $jar_name
else
echo
"项目运行中或端口已被占用"
fi
}
#停止项目
stop(){
pid=`
netstat
-apn |
grep
$port |
awk
‘{print $7}‘
|
cut
-d/ -f 1`
if
[ -z
"${pid}"
];
then
echo
"没有项目在运行,请先启动"
else
kill
-9 $pid
echo
"已杀死端口为 ${port} 的应用"
fi
}
#重启项目
restart(){
pid=`
netstat
-apn |
grep
$port |
awk
‘{print $7}‘
|
cut
-d/ -f 1`
echo
"正在杀死端口 ${port} 的pid ${pid} 中..."
if
[ -z
"${pid}"
];
then
echo
"项目未启动"
else
kill
-9 $pid
fi
sleep
5
#睡眠五秒
start
#调用启动方法
echo
"项目重启成功!"
}
#参数选项
case
"$1"
in
"-status"
)
status
;;
"-start"
)
start
;;
"-stop"
)
stop
;;
"-restart"
)
restart
;;
*)
tips
;;
esac
exit 0 4.给.sh文件授权
此时创建的文件还是普通文本,颜色为灰色,需要给文件授权让文件变成可运行文件,绿色的
#授予文件最大权限
chmod
777 XXX.sh
5.使用命令启动jar
.
/XXX
.sh -start
原文:https://www.cnblogs.com/emmetyang/p/14785928.html