注意:shell批量操作启动java的jar包,脚本位置需要与jar包放在同一个文件夹下面。
使用脚本时创建文件以sh为后缀结尾
执行文件 sh file.sh
启动脚本
# 当前文件需与jar包放在同一个文件夹下
export fileList=`ls`
echo $fileList
echo "--循环包地址--"
export killFile="kill_service.sh"
export resFile="res_start_service.sh"
export beforeOneFile="start_service.sh"
echo "当前文件为: $beforeOneFile"
for i in $fileList
do
# 不是当前文件
if [ "$i" != "$beforeOneFile" ] && [ "$i" != "$killFile" ] && [ "$i" != "$resFile" ] ;then
echo "java -Xms1024m -Xmx1024m -jar $i --spring.profiles.active=prod --自定义属性=自定义属性值 >/dev/null &"
java -Xms1024m -Xmx1024m -jar $i --spring.profiles.active=prod --自定义属性=自定义属性值 >/dev/null &
echo "$i 启动完成~~"
fi
done
停止脚本
# 注意当前文件需要与jar包放在同一个文件夹下面
export fileList=`ls`
echo $fileList
echo "--循环包地址--"
export startFile="start_sercie.sh"
export resFile="res_start_service.sh"
export beforeOneFile="kill_service.sh"
echo "当前文件为: $beforeOneFile"
for i in $fileList
do
echo "正在执行的文件为: $i "
pid=`pgrep -f $i`
# 不是脚本文件
if [ -n "$pid" ] && [ "$i" != "$beforeOneFile" ] && [ "$i" != "$startFile" ] && [ "$i" != "$resFile" ] ;then
echo "当前文件为: $i pid为: $pid"
echo "pid为: $pid "
kill -kill $pid
echo "已停止~~~~~ $i"
else
echo "文件为 $i 的pid不存在"
fi
done
ps -ef | grep java
批量重启
# 注意使用该文件时要将文件放在jar包所在的文件夹下
export fileList=`ls`
echo $fileList
echo "--循环包地址--"
export startFile="start_service.sh"
export killFile="kill_service.sh"
export beforeOneFile="res_start_service.sh"
echo "当前文件为: $beforeOneFile"
for i in $fileList
do
pid=`pgrep -f $i`
# pid存在并且不是当前文件夹下的脚本
if [ -n "$pid" ] && [ "$i" != "$beforeOneFile" ] && [ "$i" != "$startFile" ] && [ "$i" != "$killFile" ] ;then
echo "当前kill的文件为: $i"
echo "pid为:$pid"
kill -kill $pid
echo "已停止~~~~~ $i"
sleep 3
echo "睡醒了!!!"
echo "java -Xms1024m -Xmx1024m -jar $i --spring.profiles.active=prod --自定义属性=自定义属性值 >/dev/null &"
java -Xms1024m -Xmx1024m -jar $i --spring.profiles.active=prod --自定义属性=自定义属性值 >/dev/null &
echo "重启执行完成"
else
echo "不执行文件为: $i"
fi
done