1、通过shell脚本来部署java后端工程:
#!/bin/bash
usage() {
echo "Usage: sh laugchproject.sh [start|stop|restart|status]"
exit 1
}
pid=`ps -ef|grep resource-|grep -v grep | awk '{print $2}'`
existflag=0
is_exist() {
num=`ps -ef|grep resource-|grep -v grep|wc -l`
if [ $num -le 0 ]; then
existflag=0
echo "is not running!!!"
else
existflag=1
echo "is running ....."
fi
}
#启动方法
start() {
is_exist
if [ $existflag -eq 0 ]; then
cd /export/
nohup java -jar resource-manage-1.0-SNAPSHOT.jar >> resource.log &
sleep 5
tail -f resource.log
echo "启动中"
else
echo "now is running"
fi
}
#终止进程
stop() {
is_exist
if [ $existflag -eq 1 ]; then
pid=`ps -ef|grep resource-|grep -v grep |awk '{print $2}'`
kill -9 $pid
echo "已关闭"
sleep 3
cd /export/
# rm -rf resource-manage-1.0-SNAPSHOT.jar
else
echo "is not running"
fi
}
status() {
is_exist
if [ $existflag -eq 1 ]; then
echo " is running. Pid is ${pid}"
else
echo " is NOT running..."
fi
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
*)
usage
;;
esac
2、shell命令获取Tomcat进程
当一个虚拟机上面部署了多个Tomcat的时候,我们需要通过Tomcat的启动端口来寻找该端口的进程号,然后使用命令杀死该进程,命令如下:
##杀死端口相关联的进程
netstat -anp | grep 8082| grep -v grep | awk '{print $7}' | sed -e 's/\/java//g'| sed -e 's/^/kill -9 /g' | sh
lsof -i:8082|grep -v COMMAND |awk '{print $2}'| sed -e 's/^/kill -9 /g'| sh
1、修改格式操作步骤:
# vim robotcenter.sh
然后输入 set:ff=unix
# :wq! 保存退出
2、给shell脚本授权:
chmod 777 laucnproject.sh